From 44fcd024152e61cbc0ab3a602e82fa7921ef87cf Mon Sep 17 00:00:00 2001 From: Amir Blum Date: Wed, 5 Feb 2025 16:53:18 +0200 Subject: [PATCH 01/16] fix: remove pod label from workload manifest (#2377) Co-authored-by: Ron Federman Co-authored-by: Ben Elferink Co-authored-by: tamirdavid1 --- .github/workflows/publish-modules.yml | 1 + Dockerfile | 1 + .../odigos.io_instrumentationconfigs.yaml | 54 + .../odigos/v1alpha1/containeragentconfig.go | 78 + .../v1alpha1/instrumentationconfigspec.go | 27 +- .../v1alpha1/instrumentationconfigstatus.go | 9 + .../odigos/applyconfiguration/utils.go | 2 + api/k8sconsts/resources.go | 2 - .../v1alpha1/instrumentationconfig_types.go | 88 ++ api/odigos/v1alpha1/zz_generated.deepcopy.go | 20 + cli/cmd/resources/instrumentor.go | 5 - cli/cmd/resources/odiglet.go | 6 - cli/cmd/uninstall.go | 5 +- common/lang_detection.go | 2 +- distros/distro/oteldistribution.go | 77 + distros/oteldistributions.go | 116 +- distros/yamls/dotnet-community.yaml | 4 +- distros/yamls/dotnet-legacy.yaml | 15 + distros/yamls/golang-community.yaml | 2 +- distros/yamls/golang-enterprise.yaml | 2 +- distros/yamls/java-community.yaml | 2 +- distros/yamls/java-ebpf-instrumentations.yaml | 2 +- distros/yamls/java-enterprise.yaml | 2 +- distros/yamls/mysql-enterprise.yaml | 14 + distros/yamls/nodejs-community.yaml | 4 +- distros/yamls/nodejs-enterprise.yaml | 2 +- distros/yamls/python-community.yaml | 4 +- distros/yamls/python-enterprise.yaml | 4 +- distros/yamls/render.go | 37 +- docs/api-reference/odigos.io.v1alpha1.mdx | 119 ++ frontend/graph/conversions.go | 74 +- frontend/graph/generated.go | 1348 ++++++++--------- frontend/graph/model/models_gen.go | 82 +- frontend/graph/schema.graphqls | 32 +- .../source_describe/source_describe.go | 38 +- .../common/dropdowns/error-dropdown/index.tsx | 4 +- .../nodes-data-flow/nodes/base-node.tsx | 6 +- .../main/actions/action-drawer/index.tsx | 7 +- .../destination-drawer/build-card.ts | 1 + .../destinations/destination-drawer/index.tsx | 7 +- .../dynamic-fields/index.tsx | 1 + .../sources/source-drawer-container/index.tsx | 9 +- .../graphql/queries/compute-platform.ts | 6 +- frontend/webapp/graphql/queries/describe.ts | 32 +- .../hooks/describe/useDescribeSource.ts | 7 +- .../webapp/hooks/sources/useSourceCRUD.ts | 4 +- frontend/webapp/package.json | 4 +- frontend/webapp/types/common.ts | 2 - frontend/webapp/types/describe.ts | 26 +- frontend/webapp/types/sources.ts | 8 +- frontend/webapp/utils/constants/string.tsx | 3 +- frontend/webapp/yarn.lock | 64 +- .../odigos.io_instrumentationconfigs.yaml | 54 + .../templates/instrumentor/webhooks.yaml | 3 - helm/odigos/templates/odiglet/role.yaml | 10 - .../collectorsgroup_controller.go | 16 + .../effectiveconfig_controller.go | 16 + .../instrumentationconfig_controller.go | 16 + .../instrumentationrule_controller.go | 30 + .../controllers/agentenabled/manager.go | 76 + .../pods_webhook.go | 25 +- .../controllers/agentenabled/resources.go | 80 + .../controllers/agentenabled/rollout/hash.go | 52 + .../agentenabled/rollout/hash_test.go | 68 + .../agentenabled/rollout/rollout.go | 221 +++ instrumentor/controllers/agentenabled/sync.go | 376 +++++ .../collectorsgroup_controller.go | 88 -- .../instrumentationdevice/common.go | 252 --- .../instrumentationconfig_controller.go | 61 - .../instrumentationrule_controller.go | 51 - .../instrumentationdevice/manager.go | 178 --- .../workload_controllers.go | 65 - .../controllers/utils/instrumentationrules.go | 6 + .../utils/versionsupport/dotnet_support.go | 13 - .../utils/versionsupport/go_support.go | 15 - .../utils/versionsupport/ignored_support.go | 15 - .../utils/versionsupport/java_support.go | 15 - .../language_version_support.go | 80 - .../language_version_support_test.go | 178 --- .../utils/versionsupport/mysql_support.go | 13 - .../utils/versionsupport/nginx_support.go | 23 - .../utils/versionsupport/node_support.go | 15 - .../utils/versionsupport/python_support.go | 15 - .../utils/versionsupport/unknown_support.go | 15 - instrumentor/go.mod | 4 +- .../instrumentation/instrumentation.go | 125 -- instrumentor/main.go | 16 +- .../runtimemigration/runtimemigration.go | 327 ++-- instrumentor/runtimemigration/utils.go | 44 + k8sutils/pkg/conditions/deployment.go | 22 + k8sutils/pkg/describe/common.go | 11 +- k8sutils/pkg/describe/odigos.go | 10 +- .../pkg/describe/properties/properties.go | 4 + k8sutils/pkg/describe/source.go | 89 +- k8sutils/pkg/describe/source/analyze.go | 218 +-- odiglet/pkg/kube/manager.go | 6 - .../pkg/kube/runtime_details/inspection.go | 12 +- .../instrumentationconfigs_controller.go | 11 +- .../kube/runtime_details/pods_controller.go | 8 +- .../01-assert-instrumented.yaml | 225 +-- 100 files changed, 2992 insertions(+), 2752 deletions(-) create mode 100644 api/generated/odigos/applyconfiguration/odigos/v1alpha1/containeragentconfig.go create mode 100644 distros/distro/oteldistribution.go create mode 100644 distros/yamls/dotnet-legacy.yaml create mode 100644 distros/yamls/mysql-enterprise.yaml create mode 100644 instrumentor/controllers/agentenabled/collectorsgroup_controller.go create mode 100644 instrumentor/controllers/agentenabled/effectiveconfig_controller.go create mode 100644 instrumentor/controllers/agentenabled/instrumentationconfig_controller.go create mode 100644 instrumentor/controllers/agentenabled/instrumentationrule_controller.go create mode 100644 instrumentor/controllers/agentenabled/manager.go rename instrumentor/controllers/{instrumentationdevice => agentenabled}/pods_webhook.go (94%) create mode 100644 instrumentor/controllers/agentenabled/resources.go create mode 100644 instrumentor/controllers/agentenabled/rollout/hash.go create mode 100644 instrumentor/controllers/agentenabled/rollout/hash_test.go create mode 100644 instrumentor/controllers/agentenabled/rollout/rollout.go create mode 100644 instrumentor/controllers/agentenabled/sync.go delete mode 100644 instrumentor/controllers/instrumentationdevice/collectorsgroup_controller.go delete mode 100644 instrumentor/controllers/instrumentationdevice/common.go delete mode 100644 instrumentor/controllers/instrumentationdevice/instrumentationconfig_controller.go delete mode 100644 instrumentor/controllers/instrumentationdevice/instrumentationrule_controller.go delete mode 100644 instrumentor/controllers/instrumentationdevice/manager.go delete mode 100644 instrumentor/controllers/instrumentationdevice/workload_controllers.go delete mode 100644 instrumentor/controllers/utils/versionsupport/dotnet_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/go_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/ignored_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/java_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/language_version_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/language_version_support_test.go delete mode 100644 instrumentor/controllers/utils/versionsupport/mysql_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/nginx_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/node_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/python_support.go delete mode 100644 instrumentor/controllers/utils/versionsupport/unknown_support.go delete mode 100644 instrumentor/instrumentation/instrumentation.go create mode 100644 instrumentor/runtimemigration/utils.go create mode 100644 k8sutils/pkg/conditions/deployment.go diff --git a/.github/workflows/publish-modules.yml b/.github/workflows/publish-modules.yml index 2a92b6eacf..70d44c542f 100644 --- a/.github/workflows/publish-modules.yml +++ b/.github/workflows/publish-modules.yml @@ -48,6 +48,7 @@ jobs: git tag opampserver/${{ steps.extract_tag.outputs.tag }} git tag procdiscovery/${{ steps.extract_tag.outputs.tag }} git tag profiles/${{ steps.extract_tag.outputs.tag }} + git tag distros/${{ steps.extract_tag.outputs.tag }} git push origin --tags - name: Trigger Release PR in Odigos Enterprise diff --git a/Dockerfile b/Dockerfile index 97030d804a..fa0790e98f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,7 @@ COPY api/ api/ COPY common/ common/ COPY k8sutils/ k8sutils/ COPY profiles/ profiles/ +COPY distros/ distros/ WORKDIR /workspace/$SERVICE_NAME RUN mkdir -p /workspace/build diff --git a/api/config/crd/bases/odigos.io_instrumentationconfigs.yaml b/api/config/crd/bases/odigos.io_instrumentationconfigs.yaml index b0425e0823..550129cb3f 100644 --- a/api/config/crd/bases/odigos.io_instrumentationconfigs.yaml +++ b/api/config/crd/bases/odigos.io_instrumentationconfigs.yaml @@ -42,6 +42,52 @@ spec: Config for the OpenTelemeetry SDKs that should be applied to a workload. The workload is identified by the owner reference properties: + agentInjectionEnabled: + description: determines if odigos should inject agents to pods of + this workload. + type: boolean + containers: + description: configuration for each instrumented container in the + workload + items: + description: ContainerAgentConfig is a configuration for a specific + container in a workload. + properties: + agentEnabled: + description: boolean flag to indicate if the agent should be + enabled for this container. + type: boolean + agentEnabledMessage: + description: |- + free text message to provide more information about the instrumentation decision. + can be left empty if reason is self-explanatory. + type: string + agentEnabledReason: + description: An enum reason for the agent injection decision. + enum: + - EnabledSuccessfully + - WaitingForRuntimeInspection + - WaitingForNodeCollector + - UnsupportedProgrammingLanguage + - IgnoredContainer + - NoAvailableAgent + - UnsupportedRuntimeVersion + - OtherAgentDetected + type: string + containerName: + description: The name of the container to which this configuration + applies. + type: string + otelDistroName: + description: |- + The name of the otel distribution to use for this container. + if the name is empty, this container should not be instrumented. + type: string + required: + - agentEnabled + - containerName + type: object + type: array sdkConfigs: description: |- Configuration for the OpenTelemetry SDKs that this workload should use. @@ -419,6 +465,8 @@ spec: description: the service.name property is used to populate the `service.name` resource attribute in the telemetry generated by this workload type: string + required: + - agentInjectionEnabled type: object status: properties: @@ -553,6 +601,12 @@ spec: - language type: object type: array + workloadRolloutHash: + description: |- + The hash used to determine whether the associated workload needs to be rolled out. + This hash is calculated based on the containers config array and takes into account the + container name, Instrumented flag and the OTel distro name. + type: string type: object type: object served: true diff --git a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/containeragentconfig.go b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/containeragentconfig.go new file mode 100644 index 0000000000..2acf025f4b --- /dev/null +++ b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/containeragentconfig.go @@ -0,0 +1,78 @@ +/* +Copyright 2022. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + odigosv1alpha1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" +) + +// ContainerAgentConfigApplyConfiguration represents a declarative configuration of the ContainerAgentConfig type for use +// with apply. +type ContainerAgentConfigApplyConfiguration struct { + ContainerName *string `json:"containerName,omitempty"` + AgentEnabled *bool `json:"agentEnabled,omitempty"` + AgentEnabledReason *odigosv1alpha1.AgentEnabledReason `json:"agentEnabledReason,omitempty"` + AgentEnabledMessage *string `json:"agentEnabledMessage,omitempty"` + OtelDistroName *string `json:"otelDistroName,omitempty"` +} + +// ContainerAgentConfigApplyConfiguration constructs a declarative configuration of the ContainerAgentConfig type for use with +// apply. +func ContainerAgentConfig() *ContainerAgentConfigApplyConfiguration { + return &ContainerAgentConfigApplyConfiguration{} +} + +// WithContainerName sets the ContainerName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ContainerName field is set to the value of the last call. +func (b *ContainerAgentConfigApplyConfiguration) WithContainerName(value string) *ContainerAgentConfigApplyConfiguration { + b.ContainerName = &value + return b +} + +// WithAgentEnabled sets the AgentEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AgentEnabled field is set to the value of the last call. +func (b *ContainerAgentConfigApplyConfiguration) WithAgentEnabled(value bool) *ContainerAgentConfigApplyConfiguration { + b.AgentEnabled = &value + return b +} + +// WithAgentEnabledReason sets the AgentEnabledReason field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AgentEnabledReason field is set to the value of the last call. +func (b *ContainerAgentConfigApplyConfiguration) WithAgentEnabledReason(value odigosv1alpha1.AgentEnabledReason) *ContainerAgentConfigApplyConfiguration { + b.AgentEnabledReason = &value + return b +} + +// WithAgentEnabledMessage sets the AgentEnabledMessage field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AgentEnabledMessage field is set to the value of the last call. +func (b *ContainerAgentConfigApplyConfiguration) WithAgentEnabledMessage(value string) *ContainerAgentConfigApplyConfiguration { + b.AgentEnabledMessage = &value + return b +} + +// WithOtelDistroName sets the OtelDistroName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OtelDistroName field is set to the value of the last call. +func (b *ContainerAgentConfigApplyConfiguration) WithOtelDistroName(value string) *ContainerAgentConfigApplyConfiguration { + b.OtelDistroName = &value + return b +} diff --git a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationconfigspec.go b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationconfigspec.go index f6945e800f..7a5c828cb3 100644 --- a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationconfigspec.go +++ b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationconfigspec.go @@ -20,8 +20,10 @@ package v1alpha1 // InstrumentationConfigSpecApplyConfiguration represents a declarative configuration of the InstrumentationConfigSpec type for use // with apply. type InstrumentationConfigSpecApplyConfiguration struct { - ServiceName *string `json:"serviceName,omitempty"` - SdkConfigs []SdkConfigApplyConfiguration `json:"sdkConfigs,omitempty"` + ServiceName *string `json:"serviceName,omitempty"` + AgentInjectionEnabled *bool `json:"agentInjectionEnabled,omitempty"` + Containers []ContainerAgentConfigApplyConfiguration `json:"containers,omitempty"` + SdkConfigs []SdkConfigApplyConfiguration `json:"sdkConfigs,omitempty"` } // InstrumentationConfigSpecApplyConfiguration constructs a declarative configuration of the InstrumentationConfigSpec type for use with @@ -38,6 +40,27 @@ func (b *InstrumentationConfigSpecApplyConfiguration) WithServiceName(value stri return b } +// WithAgentInjectionEnabled sets the AgentInjectionEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AgentInjectionEnabled field is set to the value of the last call. +func (b *InstrumentationConfigSpecApplyConfiguration) WithAgentInjectionEnabled(value bool) *InstrumentationConfigSpecApplyConfiguration { + b.AgentInjectionEnabled = &value + return b +} + +// WithContainers adds the given value to the Containers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Containers field. +func (b *InstrumentationConfigSpecApplyConfiguration) WithContainers(values ...*ContainerAgentConfigApplyConfiguration) *InstrumentationConfigSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithContainers") + } + b.Containers = append(b.Containers, *values[i]) + } + return b +} + // WithSdkConfigs adds the given value to the SdkConfigs field in the declarative configuration // and returns the receiver, so that objects can be build by chaining "With" function invocations. // If called multiple times, values provided by each call will be appended to the SdkConfigs field. diff --git a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationconfigstatus.go b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationconfigstatus.go index f6796dea5b..a8a4e5a7fc 100644 --- a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationconfigstatus.go +++ b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationconfigstatus.go @@ -26,6 +26,7 @@ import ( type InstrumentationConfigStatusApplyConfiguration struct { RuntimeDetailsByContainer []RuntimeDetailsByContainerApplyConfiguration `json:"runtimeDetailsByContainer,omitempty"` Conditions []v1.ConditionApplyConfiguration `json:"conditions,omitempty"` + WorkloadRolloutHash *string `json:"workloadRolloutHash,omitempty"` } // InstrumentationConfigStatusApplyConfiguration constructs a declarative configuration of the InstrumentationConfigStatus type for use with @@ -59,3 +60,11 @@ func (b *InstrumentationConfigStatusApplyConfiguration) WithConditions(values .. } return b } + +// WithWorkloadRolloutHash sets the WorkloadRolloutHash field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WorkloadRolloutHash field is set to the value of the last call. +func (b *InstrumentationConfigStatusApplyConfiguration) WithWorkloadRolloutHash(value string) *InstrumentationConfigStatusApplyConfiguration { + b.WorkloadRolloutHash = &value + return b +} diff --git a/api/generated/odigos/applyconfiguration/utils.go b/api/generated/odigos/applyconfiguration/utils.go index c2f7687fed..cc04392bcc 100644 --- a/api/generated/odigos/applyconfiguration/utils.go +++ b/api/generated/odigos/applyconfiguration/utils.go @@ -49,6 +49,8 @@ func ForKind(kind schema.GroupVersionKind) interface{} { return &odigosv1alpha1.CollectorsGroupStatusApplyConfiguration{} case v1alpha1.SchemeGroupVersion.WithKind("ConfigOption"): return &odigosv1alpha1.ConfigOptionApplyConfiguration{} + case v1alpha1.SchemeGroupVersion.WithKind("ContainerAgentConfig"): + return &odigosv1alpha1.ContainerAgentConfigApplyConfiguration{} case v1alpha1.SchemeGroupVersion.WithKind("Destination"): return &odigosv1alpha1.DestinationApplyConfiguration{} case v1alpha1.SchemeGroupVersion.WithKind("DestinationSpec"): diff --git a/api/k8sconsts/resources.go b/api/k8sconsts/resources.go index c90ee4ed20..8cfe6b2aa8 100644 --- a/api/k8sconsts/resources.go +++ b/api/k8sconsts/resources.go @@ -1,8 +1,6 @@ package k8sconsts const ( - // OdigosInjectInstrumentationLabel is the label used to enable the mutating webhook. - OdigosInjectInstrumentationLabel = "odigos.io/inject-instrumentation" // OdigosCollectorRoleLabel is the label used to identify the role of the Odigos collector. OdigosCollectorRoleLabel = "odigos.io/collector-role" diff --git a/api/odigos/v1alpha1/instrumentationconfig_types.go b/api/odigos/v1alpha1/instrumentationconfig_types.go index 3bee869660..4c613019a8 100644 --- a/api/odigos/v1alpha1/instrumentationconfig_types.go +++ b/api/odigos/v1alpha1/instrumentationconfig_types.go @@ -20,6 +20,63 @@ type InstrumentationConfig struct { Status InstrumentationConfigStatus `json:"status,omitempty"` } +// conditions for the InstrumentationConfigStatus +const ( + // this const is the Type field in the conditions of the InstrumentationConfigStatus. + AgentEnabledStatusConditionType = "AgentEnabled" + // reports whether the workload associated with the InstrumentationConfig has been rolled out. + // the rollout is needed to update the instrumentation done by the Pods webhook. + WorkloadRolloutStatusConditionType = "WorkloadRollout" +) + +// +kubebuilder:validation:Enum=EnabledSuccessfully;WaitingForRuntimeInspection;WaitingForNodeCollector;UnsupportedProgrammingLanguage;IgnoredContainer;NoAvailableAgent;UnsupportedRuntimeVersion;OtherAgentDetected +type AgentEnabledReason string + +const ( + AgentEnabledReasonEnabledSuccessfully AgentEnabledReason = "EnabledSuccessfully" + AgentEnabledReasonWaitingForRuntimeInspection AgentEnabledReason = "WaitingForRuntimeInspection" + AgentEnabledReasonWaitingForNodeCollector AgentEnabledReason = "WaitingForNodeCollector" + AgentEnabledReasonUnsupportedProgrammingLanguage AgentEnabledReason = "UnsupportedProgrammingLanguage" + AgentEnabledReasonIgnoredContainer AgentEnabledReason = "IgnoredContainer" + AgentEnabledReasonNoAvailableAgent AgentEnabledReason = "NoAvailableAgent" + AgentEnabledReasonUnsupportedRuntimeVersion AgentEnabledReason = "UnsupportedRuntimeVersion" + AgentEnabledReasonOtherAgentDetected AgentEnabledReason = "OtherAgentDetected" +) + +// +kubebuilder:validation:Enum=RolloutTriggeredSuccessfully;FailedToPatch;PreviousRolloutOngoing +type WorkloadRolloutReason string + +const ( + WorkloadRolloutReasonTriggeredSuccessfully WorkloadRolloutReason = "RolloutTriggeredSuccessfully" + WorkloadRolloutReasonFailedToPatch WorkloadRolloutReason = "FailedToPatch" + WorkloadRolloutReasonPreviousRolloutOngoing WorkloadRolloutReason = "PreviousRolloutOngoing" +) + +// givin multiple reasons for not injecting an agent, this function returns the priority of the reason. +// which is - it allows choosing the most important reason to be displayed to the user in the aggregate status. +func AgentInjectionReasonPriority(reason AgentEnabledReason) int { + switch reason { + case AgentEnabledReasonEnabledSuccessfully: + return 0 + case AgentEnabledReasonWaitingForRuntimeInspection: + return 1 + case AgentEnabledReasonWaitingForNodeCollector: + return 2 + case AgentEnabledReasonUnsupportedProgrammingLanguage: + return 3 + case AgentEnabledReasonUnsupportedRuntimeVersion: + return 4 + case AgentEnabledReasonIgnoredContainer: + return 5 + case AgentEnabledReasonNoAvailableAgent: + return 6 + case AgentEnabledReasonOtherAgentDetected: + return 7 + default: + return 8 + } +} + type OtherAgent struct { Name string `json:"name,omitempty"` } @@ -61,6 +118,11 @@ type InstrumentationConfigStatus struct { // Represents the observations of a InstrumentationConfig's current state. Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" protobuf:"bytes,1,rep,name=conditions"` + + // The hash used to determine whether the associated workload needs to be rolled out. + // This hash is calculated based on the containers config array and takes into account the + // container name, Instrumented flag and the OTel distro name. + WorkloadRolloutHash string `json:"workloadRolloutHash,omitempty"` } func (in *InstrumentationConfigStatus) GetRuntimeDetailsForContainer(container v1.Container) *RuntimeDetailsByContainer { @@ -72,12 +134,38 @@ func (in *InstrumentationConfigStatus) GetRuntimeDetailsForContainer(container v return nil } +// ContainerAgentConfig is a configuration for a specific container in a workload. +type ContainerAgentConfig struct { + // The name of the container to which this configuration applies. + ContainerName string `json:"containerName"` + + // boolean flag to indicate if the agent should be enabled for this container. + AgentEnabled bool `json:"agentEnabled"` + + // An enum reason for the agent injection decision. + AgentEnabledReason AgentEnabledReason `json:"agentEnabledReason,omitempty"` + + // free text message to provide more information about the instrumentation decision. + // can be left empty if reason is self-explanatory. + AgentEnabledMessage string `json:"agentEnabledMessage,omitempty"` + + // The name of the otel distribution to use for this container. + // if the name is empty, this container should not be instrumented. + OtelDistroName string `json:"otelDistroName,omitempty"` +} + // Config for the OpenTelemeetry SDKs that should be applied to a workload. // The workload is identified by the owner reference type InstrumentationConfigSpec struct { // the service.name property is used to populate the `service.name` resource attribute in the telemetry generated by this workload ServiceName string `json:"serviceName,omitempty"` + // determines if odigos should inject agents to pods of this workload. + AgentInjectionEnabled bool `json:"agentInjectionEnabled"` + + // configuration for each instrumented container in the workload + Containers []ContainerAgentConfig `json:"containers,omitempty"` + // Configuration for the OpenTelemetry SDKs that this workload should use. // The SDKs are identified by the programming language they are written in. // TODO: consider adding more granular control over the SDKs, such as community/enterprise, native/ebpf. diff --git a/api/odigos/v1alpha1/zz_generated.deepcopy.go b/api/odigos/v1alpha1/zz_generated.deepcopy.go index d560c84282..a537ced10a 100644 --- a/api/odigos/v1alpha1/zz_generated.deepcopy.go +++ b/api/odigos/v1alpha1/zz_generated.deepcopy.go @@ -236,6 +236,21 @@ func (in *ConfigOption) DeepCopy() *ConfigOption { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAgentConfig) DeepCopyInto(out *ContainerAgentConfig) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAgentConfig. +func (in *ContainerAgentConfig) DeepCopy() *ContainerAgentConfig { + if in == nil { + return nil + } + out := new(ContainerAgentConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Destination) DeepCopyInto(out *Destination) { *out = *in @@ -453,6 +468,11 @@ func (in *InstrumentationConfigList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstrumentationConfigSpec) DeepCopyInto(out *InstrumentationConfigSpec) { *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]ContainerAgentConfig, len(*in)) + copy(*out, *in) + } if in.SdkConfigs != nil { in, out := &in.SdkConfigs, &out.SdkConfigs *out = make([]SdkConfig, len(*in)) diff --git a/cli/cmd/resources/instrumentor.go b/cli/cmd/resources/instrumentor.go index c79e7eb604..81e6eb966f 100644 --- a/cli/cmd/resources/instrumentor.go +++ b/cli/cmd/resources/instrumentor.go @@ -420,11 +420,6 @@ func NewPodMutatingWebhookConfiguration(ns string, caBundle []byte) *admissionre ReinvocationPolicy: ptrGeneric(admissionregistrationv1.IfNeededReinvocationPolicy), SideEffects: ptrGeneric(admissionregistrationv1.SideEffectClassNone), TimeoutSeconds: intPtr(10), - ObjectSelector: &metav1.LabelSelector{ - MatchLabels: map[string]string{ - k8sconsts.OdigosInjectInstrumentationLabel: "true", - }, - }, AdmissionReviewVersions: []string{ "v1", }, diff --git a/cli/cmd/resources/odiglet.go b/cli/cmd/resources/odiglet.go index 611c11aaac..8a5a58388e 100644 --- a/cli/cmd/resources/odiglet.go +++ b/cli/cmd/resources/odiglet.go @@ -55,12 +55,6 @@ func NewOdigletRole(ns string) *rbacv1.Role { Resources: []string{"collectorsgroups", "collectorsgroups/status"}, Verbs: []string{"get", "list", "watch"}, }, - { // Needed to read the odigos_config for ignored containers - APIGroups: []string{""}, - Resources: []string{"configmaps"}, - ResourceNames: []string{consts.OdigosEffectiveConfigName}, - Verbs: []string{"get", "list", "watch"}, - }, }, } } diff --git a/cli/cmd/uninstall.go b/cli/cmd/uninstall.go index c925cc7392..b6025538be 100644 --- a/cli/cmd/uninstall.go +++ b/cli/cmd/uninstall.go @@ -218,10 +218,11 @@ func getWorkloadRolloutJsonPatch(obj kube.Object, pts *v1.PodTemplateSpec) ([]by }) } } - if _, found := pts.ObjectMeta.Labels[k8sconsts.OdigosInjectInstrumentationLabel]; found { + odigosInjectInstrumentationLabel := "odigos.io/inject-instrumentation" + if _, found := pts.ObjectMeta.Labels[odigosInjectInstrumentationLabel]; found { patchOperations = append(patchOperations, map[string]interface{}{ "op": "remove", - "path": "/spec/template/metadata/labels/" + jsonPatchEscapeKey(k8sconsts.OdigosInjectInstrumentationLabel), + "path": "/spec/template/metadata/labels/" + jsonPatchEscapeKey(odigosInjectInstrumentationLabel), }) } diff --git a/common/lang_detection.go b/common/lang_detection.go index 4058374b57..736a4d9317 100644 --- a/common/lang_detection.go +++ b/common/lang_detection.go @@ -25,7 +25,7 @@ const ( NginxProgrammingLanguage ProgrammingLanguage = "nginx" // Used when the language detection is not successful for all the available inspectors UnknownProgrammingLanguage ProgrammingLanguage = "unknown" - // Ignored is used when the odigos is configured to ignore the process/container + // Deprecated: This is no longer supported and will not be set be odiglet IgnoredProgrammingLanguage ProgrammingLanguage = "ignored" ) diff --git a/distros/distro/oteldistribution.go b/distros/distro/oteldistribution.go new file mode 100644 index 0000000000..3620a859e5 --- /dev/null +++ b/distros/distro/oteldistribution.go @@ -0,0 +1,77 @@ +package distro + +import "github.com/odigos-io/odigos/common" + +type RuntimeEnvironment struct { + // the runtime environment this distribution targets. + // examples: nodejs, JVM, CPython, etc. + // while java-script can run in both nodejs and browser, the distribution should specify where it is intended to run. + Name string `yaml:"name"` + + // semconv range of the runtime versions supported by this distribution. + SupportedVersions string `yaml:"supportedVersions,omitempty"` +} + +type Framework struct { + // the framework this distribution targets. + FrameworkName string `yaml:"frameworkName"` + + // semconv range of the framework versions supported by this distribution. + FrameworkVersion string `yaml:"frameworkVersion"` +} + +// this struct describes environment variables that needs to be set in the application runtime +// to enable the distribution. +type EnvironmentVariable struct { + + // The name of the environment variable to set or patch. + EnvName string `yaml:"envName"` + + // The value of the environment variable to set or patch. + // One special value can be used in this text which is substituted by the actual value at runtime. + // The special value is: `{{ODIGOS_AGENTS_DIR}}` which is replaced by `/var/odigos`, for k8s and with other values for other platforms. + EnvValue string `yaml:"envValue"` + + // In case the environment variable needs to be appended to an existing value, + // this field specifies the delimiter to use. + // e.g. `:` for PYTHONPATH=/path/to/lib1:/path/to/lib2 + Delimiter string `yaml:"delimiter"` +} + +// OtelDistro (Short for OpenTelemetry Distribution) is a collection of OpenTelemetry components, +// including instrumentations, SDKs, and other components that are distributed together. +// Each distribution includes a unique name, and metadata about the ways it is implemented. +// The metadata includes the tiers of the distribution, the instrumentations, and the SDKs used. +// Multiple distributions can co-exist with the same properties but different names. +type OtelDistro struct { + + // a human-friendly name for this distribution, which can be displayed in the UI and documentation. + // may include spaces and special characters. + DisplayName string `yaml:"displayName"` + + // a unique name for this distribution, which helps to identify it. + // should be a single word, lowercase, and may include hyphens (nodejs-community, dotnet-legacy-instrumentation). + Name string `yaml:"name"` + + // the programming language this distribution targets. + // each distribution must target a single language. + Language common.ProgrammingLanguage `yaml:"language"` + + // the runtime environments this distribution targets. + // examples: nodejs, JVM, CPython, etc. + // while java-script can run in both nodejs and browser, the distribution should specify where it is intended to run. + RuntimeEnvironments []RuntimeEnvironment `yaml:"runtimeEnvironments"` + + // A list of frameworks this distribution targets (can be left empty) + Frameworks []Framework `yaml:"frameworks"` + + // Free text description of the distribution, what it includes, it's use cases, etc. + Description string `yaml:"description"` + + // Specifies the odigos tiers which includes this distribution + Tiers []common.OdigosTier `yaml:"tiers"` + + // a list of environment variables that needs to be set in the application runtime + // to enable the distribution. + EnvironmentVariables []EnvironmentVariable `yaml:"environmentVariables,omitempty"` +} diff --git a/distros/oteldistributions.go b/distros/oteldistributions.go index bec66a8737..9c1a3b6067 100644 --- a/distros/oteldistributions.go +++ b/distros/oteldistributions.go @@ -1,77 +1,53 @@ package distros -import "github.com/odigos-io/odigos/common" - -type RuntimeEnvironment struct { - // the runtime environment this distribution targets. - // examples: nodejs, JVM, CPython, etc. - // while java-script can run in both nodejs and browser, the distribution should specify where it is intended to run. - RuntimeEnvironmentName string `json:"runtimeEnvironmentName"` - - // semconv range of the runtime versions supported by this distribution. - RuntimeEnvironmentVersion string `json:"runtimeEnvironmentVersion"` -} - -type Framework struct { - // the framework this distribution targets. - FrameworkName string `json:"frameworkName"` - - // semconv range of the framework versions supported by this distribution. - FrameworkVersion string `json:"frameworkVersion"` +import ( + "github.com/odigos-io/odigos/common" + "github.com/odigos-io/odigos/distros/distro" + "github.com/odigos-io/odigos/distros/yamls" +) + +func GetDefaultDistroNames(tier common.OdigosTier) map[common.ProgrammingLanguage]string { + switch tier { + case common.CommunityOdigosTier: + return map[common.ProgrammingLanguage]string{ + common.JavascriptProgrammingLanguage: "nodejs-community", + common.PythonProgrammingLanguage: "python-community", + common.DotNetProgrammingLanguage: "dotnet-community", + common.JavaProgrammingLanguage: "java-community", + common.GoProgrammingLanguage: "golang-community", + } + case common.OnPremOdigosTier: + return map[common.ProgrammingLanguage]string{ + common.JavascriptProgrammingLanguage: "nodejs-enterprise", + common.PythonProgrammingLanguage: "python-enterprise", + common.DotNetProgrammingLanguage: "dotnet-community", + common.JavaProgrammingLanguage: "java-enterprise", + common.GoProgrammingLanguage: "golang-enterprise", + common.MySQLProgrammingLanguage: "mysql-enterprise", + } + default: + return nil + } } -// this struct describes environment variables that needs to be set in the application runtime -// to enable the distribution. -type EnvironmentVariable struct { - - // The name of the environment variable to set or patch. - EnvName string `json:"envName"` - - // The value of the environment variable to set or patch. - // One special value can be used in this text which is substituted by the actual value at runtime. - // The special value is: `{{ODIGOS_AGENTS_DIR}}` which is replaced by `/var/odigos`, for k8s and with other values for other platforms. - EnvValue string `json:"envValue"` - - // In case the environment variable needs to be appended to an existing value, - // this field specifies the delimiter to use. - // e.g. `:` for PYTHONPATH=/path/to/lib1:/path/to/lib2 - Delimiter string `json:"delimiter"` +var allDistros = []distro.OtelDistro{} + +func init() { + distroNames := yamls.GetAllDistroNames() + for _, distroName := range distroNames { + distro, err := yamls.ReadDistroFromYamlManifest(distroName) + if err != nil { + continue + } + allDistros = append(allDistros, *distro) + } } -// OtelDistro (Short for OpenTelemetry Distribution) is a collection of OpenTelemetry components, -// including instrumentations, SDKs, and other components that are distributed together. -// Each distribution includes a unique name, and metadata about the ways it is implemented. -// The metadata includes the tiers of the distribution, the instrumentations, and the SDKs used. -// Multiple distributions can co-exist with the same properties but different names. -type OtelDistro struct { - - // a unique name for this distribution, which helps to identify it. - // should be a single word, lowercase, and may include hyphens (nodejs-community, dotnet-legacy-instrumentation). - Name string `json:"name"` - - // the programming language this distribution targets. - // each distribution must target a single language. - Language common.ProgrammingLanguage `json:"language"` - - // the runtime environments this distribution targets. - // examples: nodejs, JVM, CPython, etc. - // while java-script can run in both nodejs and browser, the distribution should specify where it is intended to run. - RuntimeEnvironments []RuntimeEnvironment `json:"runtimeEnvironments"` - - // A list of frameworks this distribution targets (can be left empty) - Frameworks []Framework `json:"frameworks"` - - // a human-friendly name for this distribution, which can be displayed in the UI and documentation. - // may include spaces and special characters. - DisplayName string `json:"displayName"` - - // Free text description of the distribution, what it includes, it's use cases, etc. - Description string `json:"description"` - - // Specifies the odigos tiers which includes this distribution - Tiers []common.OdigosTier `json:"tiers"` - - // a list of environment variables that needs to be set in the application runtime - // to enable the distribution. - EnvironmentVariables []EnvironmentVariable `json:"environmentVariables,omitempty"` +func GetDistroByName(distroName string) *distro.OtelDistro { + for i := range allDistros { + if allDistros[i].Name == distroName { + return &allDistros[i] + } + } + return nil } diff --git a/distros/yamls/dotnet-community.yaml b/distros/yamls/dotnet-community.yaml index 4c6e8c356d..573194f740 100644 --- a/distros/yamls/dotnet-community.yaml +++ b/distros/yamls/dotnet-community.yaml @@ -7,11 +7,11 @@ spec: language: dotnet runtimeEnvironments: - name: dotnet-version - version: '>= 6.0' + supportedVersions: '>= 6.0' framework: - name: dotnet-framework version: '>= 4.6.2' - displayName: Dotnet Community Native Instrumentation + displayName: 'Dotnet Community Native Instrumentation' description: | This distribution is for Dotnet applications using OpenTelemetry Native SDK and instrumentation libraries from the OpenTelemetry community. tiers: diff --git a/distros/yamls/dotnet-legacy.yaml b/distros/yamls/dotnet-legacy.yaml new file mode 100644 index 0000000000..554a55627c --- /dev/null +++ b/distros/yamls/dotnet-legacy.yaml @@ -0,0 +1,15 @@ +apiVersion: internal.odigos.io/v1beta1 +kind: OtelDistribution +metadata: + name: dotnet-legacy +spec: + name: dotnet-legacy + language: dotnet + runtimeEnvironments: + - name: dotnet-version + supportedVersions: '>=4 <7' + displayName: 'Dotnet Community Native Instrumentation for Legacy Versions' + description: | + This distribution is for Dotnet applications running on old runtimes, using OpenTelemetry Native SDK and instrumentation libraries from the OpenTelemetry community. + tiers: + - onprem diff --git a/distros/yamls/golang-community.yaml b/distros/yamls/golang-community.yaml index 45758f0506..e4ead4b70f 100644 --- a/distros/yamls/golang-community.yaml +++ b/distros/yamls/golang-community.yaml @@ -7,7 +7,7 @@ spec: language: go runtimeEnvironments: - name: go-runtime - version: '>= 1.17' + supportedVersions: '>= 1.17' displayName: Golang Community eBPF Instrumentation description: | This distribution is for Golang applications using OpenTelemetry eBPF-based SDK and eBPF-based instrumentation libraries from the OpenTelemetry community. diff --git a/distros/yamls/golang-enterprise.yaml b/distros/yamls/golang-enterprise.yaml index 34b0f5926c..81434a42bd 100644 --- a/distros/yamls/golang-enterprise.yaml +++ b/distros/yamls/golang-enterprise.yaml @@ -7,7 +7,7 @@ spec: language: go runtimeEnvironments: - name: go-runtime - version: '>= 1.17' + supportedVersions: '>= 1.17' displayName: Golang Enterprise eBPF Instrumentation description: | This distribution is for Golang applications using Odigos enterprise version, with ebpf-based SDK and instrumentation libraries, additional features and libraries coverage. diff --git a/distros/yamls/java-community.yaml b/distros/yamls/java-community.yaml index 53a12f0798..b108a73820 100644 --- a/distros/yamls/java-community.yaml +++ b/distros/yamls/java-community.yaml @@ -7,7 +7,7 @@ spec: language: java runtimeEnvironments: - name: java-virtual-machine - version: '>= 8' + supportedVersions: '>= 8' displayName: Java Community Native Instrumentation description: | This distribution is for JVM-based applications (Java, Scala, Kotlin, etc.) using OpenTelemetry Native SDK and instrumentation libraries from the OpenTelemetry community. diff --git a/distros/yamls/java-ebpf-instrumentations.yaml b/distros/yamls/java-ebpf-instrumentations.yaml index b2aec2e975..c405a936e7 100644 --- a/distros/yamls/java-ebpf-instrumentations.yaml +++ b/distros/yamls/java-ebpf-instrumentations.yaml @@ -7,7 +7,7 @@ spec: language: java runtimeEnvironments: - name: java-virtual-machine - version: '>= 8' + supportedVersions: '>= 8' displayName: Java Enterprise eBPF Instrumentation description: | This distribution is for JVM-based applications (Java, Scala, Kotlin, etc.) using eBPF based SDK and eBPF enterprise instrumentation libraries. diff --git a/distros/yamls/java-enterprise.yaml b/distros/yamls/java-enterprise.yaml index 0551f0a833..1c9a9c7a8c 100644 --- a/distros/yamls/java-enterprise.yaml +++ b/distros/yamls/java-enterprise.yaml @@ -7,7 +7,7 @@ spec: language: java runtimeEnvironments: - name: java-virtual-machine - version: '>= 8' + supportedVersions: '>= 8' displayName: Java Enterprise eBPF Processing description: | This distribution is for JVM-based applications (Java, Scala, Kotlin, etc.) using eBPF based SDK and native instrumentation libraries from the OpenTelemetry community. diff --git a/distros/yamls/mysql-enterprise.yaml b/distros/yamls/mysql-enterprise.yaml new file mode 100644 index 0000000000..7d87b1c0be --- /dev/null +++ b/distros/yamls/mysql-enterprise.yaml @@ -0,0 +1,14 @@ +apiVersion: internal.odigos.io/v1beta1 +kind: OtelDistribution +metadata: + name: mysql-enterprise +spec: + name: mysql-enterprise + language: mysql + runtimeEnvironments: + # TODO: add mysql supported versions here + displayName: 'Mysql Server Internals Enterprise Instrumentation' + description: | + Instrumentation for the internals of MySQL server using eBPF + tiers: + - onprem diff --git a/distros/yamls/nodejs-community.yaml b/distros/yamls/nodejs-community.yaml index 7aabe3d6a1..94bed49104 100644 --- a/distros/yamls/nodejs-community.yaml +++ b/distros/yamls/nodejs-community.yaml @@ -7,8 +7,8 @@ spec: language: javascript runtimeEnvironments: - name: nodejs - version: '>= 14' - displayName: Node.js Community Native Instrumentation + supportedVersions: '>= 14' + displayName: 'Node.js Community Native Instrumentation' description: | This distribution is for Node.js applications using OpenTelemetry Native SDK and instrumentation libraries from the OpenTelemetry community. tiers: diff --git a/distros/yamls/nodejs-enterprise.yaml b/distros/yamls/nodejs-enterprise.yaml index 726b263732..cb860e1de6 100644 --- a/distros/yamls/nodejs-enterprise.yaml +++ b/distros/yamls/nodejs-enterprise.yaml @@ -7,7 +7,7 @@ spec: language: javascript runtimeEnvironments: - name: nodejs - version: '>= 14' + supportedVersions: '>= 14' displayName: Node.js Enterprise eBPF Processing description: | This distribution is for Node.js applications using an efficient eBPF-based SDK, and native instrumentation libraries from the OpenTelemetry community. diff --git a/distros/yamls/python-community.yaml b/distros/yamls/python-community.yaml index 284cf37c7e..7c14aa9c9d 100644 --- a/distros/yamls/python-community.yaml +++ b/distros/yamls/python-community.yaml @@ -4,10 +4,10 @@ metadata: name: python-community spec: name: python-community - language: javascript + language: python runtimeEnvironments: - name: python-runtime - version: '>= 3.8' + supportedVersions: '>= 3.8' displayName: Python Community Native Instrumentation description: | This distribution is for Python applications using OpenTelemetry Native SDK and instrumentation libraries from the OpenTelemetry community. diff --git a/distros/yamls/python-enterprise.yaml b/distros/yamls/python-enterprise.yaml index c662953149..877e7290e3 100644 --- a/distros/yamls/python-enterprise.yaml +++ b/distros/yamls/python-enterprise.yaml @@ -4,10 +4,10 @@ metadata: name: python-enterprise spec: name: python-enterprise - language: javascript + language: python runtimeEnvironments: - name: python-runtime - version: '>= 3.8' + supportedVersions: '>= 3.8' displayName: Python Enterprise eBPF Processing description: | This distribution is for Python applications using OpenTelemetry native instrumentation libraries and eBPF SDK with enterprise features and capabilities. diff --git a/distros/yamls/render.go b/distros/yamls/render.go index 43c075e58d..be7bb50136 100644 --- a/distros/yamls/render.go +++ b/distros/yamls/render.go @@ -3,27 +3,54 @@ package yamls import ( "embed" "fmt" + "strings" - "github.com/odigos-io/odigos/distros" + "github.com/odigos-io/odigos/distros/distro" "gopkg.in/yaml.v3" ) //go:embed *.yaml var embeddedFiles embed.FS -func ReadDistroFromYamlManifest(distroName string) (*distros.OtelDistro, error) { - // TODO: allow multiple files per profiles with any name (not just profileName.yaml) +func GetAllDistroNames() []string { + files, err := embeddedFiles.ReadDir(".") + if err != nil { + return nil + } + + distroNames := make([]string, 0, len(files)) + for _, file := range files { + if file.IsDir() { + continue + } + fileName := file.Name() + fileParts := strings.Split(fileName, ".") + if len(fileParts) != 2 || fileParts[1] != "yaml" { + continue + } + distroNames = append(distroNames, fileParts[0]) + } + + return distroNames +} + +type distroResource struct { + ApiVersion string `json:"apiVersion"` + Spec distro.OtelDistro `json:"spec"` +} + +func ReadDistroFromYamlManifest(distroName string) (*distro.OtelDistro, error) { filename := fmt.Sprintf("%s.yaml", distroName) yamlBytes, err := embeddedFiles.ReadFile(filename) if err != nil { return nil, err } - otelDistro := distros.OtelDistro{} + otelDistro := distroResource{} err = yaml.Unmarshal(yamlBytes, &otelDistro) if err != nil { return nil, err } - return &otelDistro, nil + return &otelDistro.Spec, nil } diff --git a/docs/api-reference/odigos.io.v1alpha1.mdx b/docs/api-reference/odigos.io.v1alpha1.mdx index 1fed03f007..235632c927 100644 --- a/docs/api-reference/odigos.io.v1alpha1.mdx +++ b/docs/api-reference/odigos.io.v1alpha1.mdx @@ -451,6 +451,16 @@ auto_generated: true +## `AgentEnabledReason` + +(Alias of `string`) + +**Appears in:** + +- [ContainerAgentConfig](#odigos-io-v1alpha1-ContainerAgentConfig) + + + ## `Attribute` @@ -958,6 +968,80 @@ Known .status.conditions.type are: "Available", "Progressing" +## `ContainerAgentConfig` + + +**Appears in:** + +- [InstrumentationConfigSpec](#odigos-io-v1alpha1-InstrumentationConfigSpec) + +

ContainerAgentConfig is a configuration for a specific container in a workload.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
+containerName [Required] + +string + +

The name of the container to which this configuration applies.

+
+agentEnabled [Required] + +bool + +

boolean flag to indicate if the agent should be enabled for this container.

+
+agentEnabledReason [Required] + +AgentEnabledReason + +

An enum reason for the agent injection decision.

+
+agentEnabledMessage [Required] + +string + +

free text message to provide more information about the instrumentation decision. +can be left empty if reason is self-explanatory.

+
+otelDistroName [Required] + +string + +

The name of the otel distribution to use for this container. +if the name is empty, this container should not be instrumented.

+
+ ## `DestinationSpec` @@ -1179,6 +1263,28 @@ The workload is identified by the owner reference

+agentInjectionEnabled [Required] + + +bool + + +

determines if odigos should inject agents to pods of this workload.

+ + + + +containers [Required] + + +[]ContainerAgentConfig + + +

configuration for each instrumented container in the workload

+ + + + sdkConfigs [Required] @@ -1227,6 +1333,19 @@ TODO: consider adding more granular control over the SDKs, such as community/ent

Represents the observations of a InstrumentationConfig's current state.

+ + +workloadRolloutHash [Required] + + +string + + +

The hash used to determine whether the associated workload needs to be rolled out. +This hash is calculated based on the containers config array and takes into account the +container name, Instrumented flag and the OTel distro name.

+ + diff --git a/frontend/graph/conversions.go b/frontend/graph/conversions.go index db9fdbcec9..a138d45b68 100644 --- a/frontend/graph/conversions.go +++ b/frontend/graph/conversions.go @@ -34,6 +34,7 @@ func k8sConditionStatusToGql(status v1.ConditionStatus) model.ConditionStatus { } +// Convert LastTransitionTime to a string pointer if it's not nil func k8sLastTransitionTimeToGql(t v1.Time) *string { if t.IsZero() { return nil @@ -43,31 +44,32 @@ func k8sLastTransitionTimeToGql(t v1.Time) *string { } func instrumentationConfigToActualSource(instruConfig v1alpha1.InstrumentationConfig) *model.K8sActualSource { + var containers []*model.SourceContainer + // Map the containers runtime details - var containers []*model.SourceContainerRuntimeDetails - for _, container := range instruConfig.Status.RuntimeDetailsByContainer { - var otherAgentName *string - if container.OtherAgent != nil { - otherAgentName = &container.OtherAgent.Name - } + for _, statusContainer := range instruConfig.Status.RuntimeDetailsByContainer { + var instrumented bool + var instrumentationMessage string + var otelDistroName string - containers = append(containers, &model.SourceContainerRuntimeDetails{ - ContainerName: container.ContainerName, - Language: string(container.Language), - RuntimeVersion: container.RuntimeVersion, - OtherAgent: otherAgentName, - }) - } + for _, specContainer := range instruConfig.Spec.Containers { + if specContainer.ContainerName == statusContainer.ContainerName { + instrumented = specContainer.AgentEnabled + instrumentationMessage = specContainer.AgentEnabledMessage + if instrumentationMessage == "" { + instrumentationMessage = string(specContainer.AgentEnabledReason) + } + otelDistroName = specContainer.OtelDistroName + } + } - // Map the conditions - var conditions []*model.Condition - for _, condition := range instruConfig.Status.Conditions { - conditions = append(conditions, &model.Condition{ - Status: k8sConditionStatusToGql(condition.Status), - Type: condition.Type, - Reason: &condition.Reason, - Message: &condition.Message, - LastTransitionTime: k8sLastTransitionTimeToGql(condition.LastTransitionTime), + containers = append(containers, &model.SourceContainer{ + ContainerName: statusContainer.ContainerName, + Language: string(statusContainer.Language), + RuntimeVersion: statusContainer.RuntimeVersion, + Instrumented: instrumented, + InstrumentationMessage: instrumentationMessage, + OtelDistroName: &otelDistroName, }) } @@ -79,7 +81,7 @@ func instrumentationConfigToActualSource(instruConfig v1alpha1.InstrumentationCo NumberOfInstances: nil, OtelServiceName: &instruConfig.Spec.ServiceName, Containers: containers, - Conditions: conditions, + Conditions: convertConditions(instruConfig.Status.Conditions), } } @@ -98,20 +100,20 @@ func convertCustomReadDataLabels(labels []*destinations.CustomReadDataLabel) []* func convertConditions(conditions []v1.Condition) []*model.Condition { var result []*model.Condition for _, c := range conditions { - // Convert LastTransitionTime to a string pointer if it's not nil - var lastTransitionTime *string - if !c.LastTransitionTime.IsZero() { - t := c.LastTransitionTime.Format(time.RFC3339) - lastTransitionTime = &t - } + if c.Type != "AppliedInstrumentationDevice" { + message := c.Message + if message == "" { + message = string(c.Reason) + } - result = append(result, &model.Condition{ - Status: model.ConditionStatus(c.Status), - Type: c.Type, - Reason: &c.Reason, - Message: &c.Message, - LastTransitionTime: lastTransitionTime, - }) + result = append(result, &model.Condition{ + Status: model.ConditionStatus(c.Status), + Type: c.Type, + Reason: &c.Reason, + Message: &message, + LastTransitionTime: k8sLastTransitionTimeToGql(c.LastTransitionTime), + }) + } } return result } diff --git a/frontend/graph/generated.go b/frontend/graph/generated.go index 545bcf1266..9287e8088e 100644 --- a/frontend/graph/generated.go +++ b/frontend/graph/generated.go @@ -113,6 +113,14 @@ type ComplexityRoot struct { Type func(childComplexity int) int } + ContainerAgentConfigAnalyze struct { + AgentEnabled func(childComplexity int) int + ContainerName func(childComplexity int) int + Message func(childComplexity int) int + OtelDistroName func(childComplexity int) int + Reason func(childComplexity int) int + } + ContainerRuntimeInfoAnalyze struct { ContainerName func(childComplexity int) int EnvVars func(childComplexity int) int @@ -120,12 +128,6 @@ type ComplexityRoot struct { RuntimeVersion func(childComplexity int) int } - ContainerWorkloadManifestAnalyze struct { - ContainerName func(childComplexity int) int - Devices func(childComplexity int) int - OriginalEnv func(childComplexity int) int - } - CustomReadDataLabel struct { Condition func(childComplexity int) int Title func(childComplexity int) int @@ -234,17 +236,6 @@ type ComplexityRoot struct { MimeTypes func(childComplexity int) int } - InstrumentationConfigAnalyze struct { - Containers func(childComplexity int) int - CreateTime func(childComplexity int) int - Created func(childComplexity int) int - } - - InstrumentationDeviceAnalyze struct { - Containers func(childComplexity int) int - StatusText func(childComplexity int) int - } - InstrumentationInstanceAnalyze struct { Healthy func(childComplexity int) int IdentifyingAttributes func(childComplexity int) int @@ -356,6 +347,12 @@ type ComplexityRoot struct { Tier func(childComplexity int) int } + OtelAgentsAnalyze struct { + Containers func(childComplexity int) int + CreateTime func(childComplexity int) int + Created func(childComplexity int) int + } + OverviewMetricsResponse struct { Destinations func(childComplexity int) int Sources func(childComplexity int) int @@ -460,23 +457,24 @@ type ComplexityRoot struct { } SourceAnalyze struct { - InstrumentationConfig func(childComplexity int) int - InstrumentationDevice func(childComplexity int) int - Kind func(childComplexity int) int - Name func(childComplexity int) int - Namespace func(childComplexity int) int - Pods func(childComplexity int) int - PodsPhasesCount func(childComplexity int) int - RuntimeInfo func(childComplexity int) int - SourceObjects func(childComplexity int) int - TotalPods func(childComplexity int) int - } - - SourceContainerRuntimeDetails struct { - ContainerName func(childComplexity int) int - Language func(childComplexity int) int - OtherAgent func(childComplexity int) int - RuntimeVersion func(childComplexity int) int + Kind func(childComplexity int) int + Name func(childComplexity int) int + Namespace func(childComplexity int) int + OtelAgents func(childComplexity int) int + Pods func(childComplexity int) int + PodsPhasesCount func(childComplexity int) int + RuntimeInfo func(childComplexity int) int + SourceObjects func(childComplexity int) int + TotalPods func(childComplexity int) int + } + + SourceContainer struct { + ContainerName func(childComplexity int) int + InstrumentationMessage func(childComplexity int) int + Instrumented func(childComplexity int) int + Language func(childComplexity int) int + OtelDistroName func(childComplexity int) int + RuntimeVersion func(childComplexity int) int } SupportedSignals struct { @@ -861,54 +859,68 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.Condition.Type(childComplexity), true - case "ContainerRuntimeInfoAnalyze.containerName": - if e.complexity.ContainerRuntimeInfoAnalyze.ContainerName == nil { + case "ContainerAgentConfigAnalyze.agentEnabled": + if e.complexity.ContainerAgentConfigAnalyze.AgentEnabled == nil { break } - return e.complexity.ContainerRuntimeInfoAnalyze.ContainerName(childComplexity), true + return e.complexity.ContainerAgentConfigAnalyze.AgentEnabled(childComplexity), true - case "ContainerRuntimeInfoAnalyze.envVars": - if e.complexity.ContainerRuntimeInfoAnalyze.EnvVars == nil { + case "ContainerAgentConfigAnalyze.containerName": + if e.complexity.ContainerAgentConfigAnalyze.ContainerName == nil { break } - return e.complexity.ContainerRuntimeInfoAnalyze.EnvVars(childComplexity), true + return e.complexity.ContainerAgentConfigAnalyze.ContainerName(childComplexity), true - case "ContainerRuntimeInfoAnalyze.language": - if e.complexity.ContainerRuntimeInfoAnalyze.Language == nil { + case "ContainerAgentConfigAnalyze.message": + if e.complexity.ContainerAgentConfigAnalyze.Message == nil { break } - return e.complexity.ContainerRuntimeInfoAnalyze.Language(childComplexity), true + return e.complexity.ContainerAgentConfigAnalyze.Message(childComplexity), true - case "ContainerRuntimeInfoAnalyze.runtimeVersion": - if e.complexity.ContainerRuntimeInfoAnalyze.RuntimeVersion == nil { + case "ContainerAgentConfigAnalyze.otelDistroName": + if e.complexity.ContainerAgentConfigAnalyze.OtelDistroName == nil { break } - return e.complexity.ContainerRuntimeInfoAnalyze.RuntimeVersion(childComplexity), true + return e.complexity.ContainerAgentConfigAnalyze.OtelDistroName(childComplexity), true + + case "ContainerAgentConfigAnalyze.reason": + if e.complexity.ContainerAgentConfigAnalyze.Reason == nil { + break + } + + return e.complexity.ContainerAgentConfigAnalyze.Reason(childComplexity), true - case "ContainerWorkloadManifestAnalyze.containerName": - if e.complexity.ContainerWorkloadManifestAnalyze.ContainerName == nil { + case "ContainerRuntimeInfoAnalyze.containerName": + if e.complexity.ContainerRuntimeInfoAnalyze.ContainerName == nil { + break + } + + return e.complexity.ContainerRuntimeInfoAnalyze.ContainerName(childComplexity), true + + case "ContainerRuntimeInfoAnalyze.envVars": + if e.complexity.ContainerRuntimeInfoAnalyze.EnvVars == nil { break } - return e.complexity.ContainerWorkloadManifestAnalyze.ContainerName(childComplexity), true + return e.complexity.ContainerRuntimeInfoAnalyze.EnvVars(childComplexity), true - case "ContainerWorkloadManifestAnalyze.devices": - if e.complexity.ContainerWorkloadManifestAnalyze.Devices == nil { + case "ContainerRuntimeInfoAnalyze.language": + if e.complexity.ContainerRuntimeInfoAnalyze.Language == nil { break } - return e.complexity.ContainerWorkloadManifestAnalyze.Devices(childComplexity), true + return e.complexity.ContainerRuntimeInfoAnalyze.Language(childComplexity), true - case "ContainerWorkloadManifestAnalyze.originalEnv": - if e.complexity.ContainerWorkloadManifestAnalyze.OriginalEnv == nil { + case "ContainerRuntimeInfoAnalyze.runtimeVersion": + if e.complexity.ContainerRuntimeInfoAnalyze.RuntimeVersion == nil { break } - return e.complexity.ContainerWorkloadManifestAnalyze.OriginalEnv(childComplexity), true + return e.complexity.ContainerRuntimeInfoAnalyze.RuntimeVersion(childComplexity), true case "CustomReadDataLabel.condition": if e.complexity.CustomReadDataLabel.Condition == nil { @@ -1330,41 +1342,6 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.HttpPayloadCollection.MimeTypes(childComplexity), true - case "InstrumentationConfigAnalyze.containers": - if e.complexity.InstrumentationConfigAnalyze.Containers == nil { - break - } - - return e.complexity.InstrumentationConfigAnalyze.Containers(childComplexity), true - - case "InstrumentationConfigAnalyze.createTime": - if e.complexity.InstrumentationConfigAnalyze.CreateTime == nil { - break - } - - return e.complexity.InstrumentationConfigAnalyze.CreateTime(childComplexity), true - - case "InstrumentationConfigAnalyze.created": - if e.complexity.InstrumentationConfigAnalyze.Created == nil { - break - } - - return e.complexity.InstrumentationConfigAnalyze.Created(childComplexity), true - - case "InstrumentationDeviceAnalyze.containers": - if e.complexity.InstrumentationDeviceAnalyze.Containers == nil { - break - } - - return e.complexity.InstrumentationDeviceAnalyze.Containers(childComplexity), true - - case "InstrumentationDeviceAnalyze.statusText": - if e.complexity.InstrumentationDeviceAnalyze.StatusText == nil { - break - } - - return e.complexity.InstrumentationDeviceAnalyze.StatusText(childComplexity), true - case "InstrumentationInstanceAnalyze.healthy": if e.complexity.InstrumentationInstanceAnalyze.Healthy == nil { break @@ -1960,6 +1937,27 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.OdigosAnalyze.Tier(childComplexity), true + case "OtelAgentsAnalyze.containers": + if e.complexity.OtelAgentsAnalyze.Containers == nil { + break + } + + return e.complexity.OtelAgentsAnalyze.Containers(childComplexity), true + + case "OtelAgentsAnalyze.createTime": + if e.complexity.OtelAgentsAnalyze.CreateTime == nil { + break + } + + return e.complexity.OtelAgentsAnalyze.CreateTime(childComplexity), true + + case "OtelAgentsAnalyze.created": + if e.complexity.OtelAgentsAnalyze.Created == nil { + break + } + + return e.complexity.OtelAgentsAnalyze.Created(childComplexity), true + case "OverviewMetricsResponse.destinations": if e.complexity.OverviewMetricsResponse.Destinations == nil { break @@ -2397,20 +2395,6 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.SingleSourceMetricsResponse.TotalDataSent(childComplexity), true - case "SourceAnalyze.instrumentationConfig": - if e.complexity.SourceAnalyze.InstrumentationConfig == nil { - break - } - - return e.complexity.SourceAnalyze.InstrumentationConfig(childComplexity), true - - case "SourceAnalyze.instrumentationDevice": - if e.complexity.SourceAnalyze.InstrumentationDevice == nil { - break - } - - return e.complexity.SourceAnalyze.InstrumentationDevice(childComplexity), true - case "SourceAnalyze.kind": if e.complexity.SourceAnalyze.Kind == nil { break @@ -2432,6 +2416,13 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.SourceAnalyze.Namespace(childComplexity), true + case "SourceAnalyze.otelAgents": + if e.complexity.SourceAnalyze.OtelAgents == nil { + break + } + + return e.complexity.SourceAnalyze.OtelAgents(childComplexity), true + case "SourceAnalyze.pods": if e.complexity.SourceAnalyze.Pods == nil { break @@ -2467,33 +2458,47 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.SourceAnalyze.TotalPods(childComplexity), true - case "SourceContainerRuntimeDetails.containerName": - if e.complexity.SourceContainerRuntimeDetails.ContainerName == nil { + case "SourceContainer.containerName": + if e.complexity.SourceContainer.ContainerName == nil { + break + } + + return e.complexity.SourceContainer.ContainerName(childComplexity), true + + case "SourceContainer.instrumentationMessage": + if e.complexity.SourceContainer.InstrumentationMessage == nil { break } - return e.complexity.SourceContainerRuntimeDetails.ContainerName(childComplexity), true + return e.complexity.SourceContainer.InstrumentationMessage(childComplexity), true - case "SourceContainerRuntimeDetails.language": - if e.complexity.SourceContainerRuntimeDetails.Language == nil { + case "SourceContainer.instrumented": + if e.complexity.SourceContainer.Instrumented == nil { break } - return e.complexity.SourceContainerRuntimeDetails.Language(childComplexity), true + return e.complexity.SourceContainer.Instrumented(childComplexity), true - case "SourceContainerRuntimeDetails.otherAgent": - if e.complexity.SourceContainerRuntimeDetails.OtherAgent == nil { + case "SourceContainer.language": + if e.complexity.SourceContainer.Language == nil { break } - return e.complexity.SourceContainerRuntimeDetails.OtherAgent(childComplexity), true + return e.complexity.SourceContainer.Language(childComplexity), true - case "SourceContainerRuntimeDetails.runtimeVersion": - if e.complexity.SourceContainerRuntimeDetails.RuntimeVersion == nil { + case "SourceContainer.otelDistroName": + if e.complexity.SourceContainer.OtelDistroName == nil { break } - return e.complexity.SourceContainerRuntimeDetails.RuntimeVersion(childComplexity), true + return e.complexity.SourceContainer.OtelDistroName(childComplexity), true + + case "SourceContainer.runtimeVersion": + if e.complexity.SourceContainer.RuntimeVersion == nil { + break + } + + return e.complexity.SourceContainer.RuntimeVersion(childComplexity), true case "SupportedSignals.logs": if e.complexity.SupportedSignals.Logs == nil { @@ -5085,8 +5090,8 @@ func (ec *executionContext) fieldContext_Condition_lastTransitionTime(_ context. return fc, nil } -func (ec *executionContext) _ContainerRuntimeInfoAnalyze_containerName(ctx context.Context, field graphql.CollectedField, obj *model.ContainerRuntimeInfoAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ContainerRuntimeInfoAnalyze_containerName(ctx, field) +func (ec *executionContext) _ContainerAgentConfigAnalyze_containerName(ctx context.Context, field graphql.CollectedField, obj *model.ContainerAgentConfigAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerAgentConfigAnalyze_containerName(ctx, field) if err != nil { return graphql.Null } @@ -5116,9 +5121,9 @@ func (ec *executionContext) _ContainerRuntimeInfoAnalyze_containerName(ctx conte return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_containerName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_ContainerAgentConfigAnalyze_containerName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "ContainerRuntimeInfoAnalyze", + Object: "ContainerAgentConfigAnalyze", Field: field, IsMethod: false, IsResolver: false, @@ -5139,8 +5144,8 @@ func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_containerNa return fc, nil } -func (ec *executionContext) _ContainerRuntimeInfoAnalyze_language(ctx context.Context, field graphql.CollectedField, obj *model.ContainerRuntimeInfoAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ContainerRuntimeInfoAnalyze_language(ctx, field) +func (ec *executionContext) _ContainerAgentConfigAnalyze_agentEnabled(ctx context.Context, field graphql.CollectedField, obj *model.ContainerAgentConfigAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerAgentConfigAnalyze_agentEnabled(ctx, field) if err != nil { return graphql.Null } @@ -5153,7 +5158,7 @@ func (ec *executionContext) _ContainerRuntimeInfoAnalyze_language(ctx context.Co }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.Language, nil + return obj.AgentEnabled, nil }) if err != nil { ec.Error(ctx, err) @@ -5170,9 +5175,9 @@ func (ec *executionContext) _ContainerRuntimeInfoAnalyze_language(ctx context.Co return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_language(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_ContainerAgentConfigAnalyze_agentEnabled(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "ContainerRuntimeInfoAnalyze", + Object: "ContainerAgentConfigAnalyze", Field: field, IsMethod: false, IsResolver: false, @@ -5193,8 +5198,8 @@ func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_language(_ return fc, nil } -func (ec *executionContext) _ContainerRuntimeInfoAnalyze_runtimeVersion(ctx context.Context, field graphql.CollectedField, obj *model.ContainerRuntimeInfoAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ContainerRuntimeInfoAnalyze_runtimeVersion(ctx, field) +func (ec *executionContext) _ContainerAgentConfigAnalyze_reason(ctx context.Context, field graphql.CollectedField, obj *model.ContainerAgentConfigAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerAgentConfigAnalyze_reason(ctx, field) if err != nil { return graphql.Null } @@ -5207,26 +5212,74 @@ func (ec *executionContext) _ContainerRuntimeInfoAnalyze_runtimeVersion(ctx cont }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.RuntimeVersion, nil + return obj.Reason, nil }) if err != nil { ec.Error(ctx, err) return graphql.Null } if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") + return graphql.Null + } + res := resTmp.(*model.EntityProperty) + fc.Result = res + return ec.marshalOEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ContainerAgentConfigAnalyze_reason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ContainerAgentConfigAnalyze", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext_EntityProperty_name(ctx, field) + case "value": + return ec.fieldContext_EntityProperty_value(ctx, field) + case "status": + return ec.fieldContext_EntityProperty_status(ctx, field) + case "explain": + return ec.fieldContext_EntityProperty_explain(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type EntityProperty", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _ContainerAgentConfigAnalyze_message(ctx context.Context, field graphql.CollectedField, obj *model.ContainerAgentConfigAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerAgentConfigAnalyze_message(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Message, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { return graphql.Null } res := resTmp.(*model.EntityProperty) fc.Result = res - return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) + return ec.marshalOEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_runtimeVersion(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_ContainerAgentConfigAnalyze_message(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "ContainerRuntimeInfoAnalyze", + Object: "ContainerAgentConfigAnalyze", Field: field, IsMethod: false, IsResolver: false, @@ -5247,8 +5300,8 @@ func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_runtimeVers return fc, nil } -func (ec *executionContext) _ContainerRuntimeInfoAnalyze_envVars(ctx context.Context, field graphql.CollectedField, obj *model.ContainerRuntimeInfoAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ContainerRuntimeInfoAnalyze_envVars(ctx, field) +func (ec *executionContext) _ContainerAgentConfigAnalyze_otelDistroName(ctx context.Context, field graphql.CollectedField, obj *model.ContainerAgentConfigAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerAgentConfigAnalyze_otelDistroName(ctx, field) if err != nil { return graphql.Null } @@ -5261,7 +5314,58 @@ func (ec *executionContext) _ContainerRuntimeInfoAnalyze_envVars(ctx context.Con }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.EnvVars, nil + return obj.OtelDistroName, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*model.EntityProperty) + fc.Result = res + return ec.marshalOEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ContainerAgentConfigAnalyze_otelDistroName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ContainerAgentConfigAnalyze", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext_EntityProperty_name(ctx, field) + case "value": + return ec.fieldContext_EntityProperty_value(ctx, field) + case "status": + return ec.fieldContext_EntityProperty_status(ctx, field) + case "explain": + return ec.fieldContext_EntityProperty_explain(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type EntityProperty", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _ContainerRuntimeInfoAnalyze_containerName(ctx context.Context, field graphql.CollectedField, obj *model.ContainerRuntimeInfoAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerRuntimeInfoAnalyze_containerName(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ContainerName, nil }) if err != nil { ec.Error(ctx, err) @@ -5273,12 +5377,12 @@ func (ec *executionContext) _ContainerRuntimeInfoAnalyze_envVars(ctx context.Con } return graphql.Null } - res := resTmp.([]*model.EntityProperty) + res := resTmp.(*model.EntityProperty) fc.Result = res - return ec.marshalNEntityProperty2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityPropertyᚄ(ctx, field.Selections, res) + return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_envVars(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_containerName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "ContainerRuntimeInfoAnalyze", Field: field, @@ -5301,8 +5405,8 @@ func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_envVars(_ c return fc, nil } -func (ec *executionContext) _ContainerWorkloadManifestAnalyze_containerName(ctx context.Context, field graphql.CollectedField, obj *model.ContainerWorkloadManifestAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ContainerWorkloadManifestAnalyze_containerName(ctx, field) +func (ec *executionContext) _ContainerRuntimeInfoAnalyze_language(ctx context.Context, field graphql.CollectedField, obj *model.ContainerRuntimeInfoAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerRuntimeInfoAnalyze_language(ctx, field) if err != nil { return graphql.Null } @@ -5315,7 +5419,7 @@ func (ec *executionContext) _ContainerWorkloadManifestAnalyze_containerName(ctx }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.ContainerName, nil + return obj.Language, nil }) if err != nil { ec.Error(ctx, err) @@ -5332,9 +5436,9 @@ func (ec *executionContext) _ContainerWorkloadManifestAnalyze_containerName(ctx return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_ContainerWorkloadManifestAnalyze_containerName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_language(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "ContainerWorkloadManifestAnalyze", + Object: "ContainerRuntimeInfoAnalyze", Field: field, IsMethod: false, IsResolver: false, @@ -5355,8 +5459,8 @@ func (ec *executionContext) fieldContext_ContainerWorkloadManifestAnalyze_contai return fc, nil } -func (ec *executionContext) _ContainerWorkloadManifestAnalyze_devices(ctx context.Context, field graphql.CollectedField, obj *model.ContainerWorkloadManifestAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ContainerWorkloadManifestAnalyze_devices(ctx, field) +func (ec *executionContext) _ContainerRuntimeInfoAnalyze_runtimeVersion(ctx context.Context, field graphql.CollectedField, obj *model.ContainerRuntimeInfoAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerRuntimeInfoAnalyze_runtimeVersion(ctx, field) if err != nil { return graphql.Null } @@ -5369,7 +5473,7 @@ func (ec *executionContext) _ContainerWorkloadManifestAnalyze_devices(ctx contex }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.Devices, nil + return obj.RuntimeVersion, nil }) if err != nil { ec.Error(ctx, err) @@ -5386,9 +5490,9 @@ func (ec *executionContext) _ContainerWorkloadManifestAnalyze_devices(ctx contex return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_ContainerWorkloadManifestAnalyze_devices(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_runtimeVersion(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "ContainerWorkloadManifestAnalyze", + Object: "ContainerRuntimeInfoAnalyze", Field: field, IsMethod: false, IsResolver: false, @@ -5409,8 +5513,8 @@ func (ec *executionContext) fieldContext_ContainerWorkloadManifestAnalyze_device return fc, nil } -func (ec *executionContext) _ContainerWorkloadManifestAnalyze_originalEnv(ctx context.Context, field graphql.CollectedField, obj *model.ContainerWorkloadManifestAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ContainerWorkloadManifestAnalyze_originalEnv(ctx, field) +func (ec *executionContext) _ContainerRuntimeInfoAnalyze_envVars(ctx context.Context, field graphql.CollectedField, obj *model.ContainerRuntimeInfoAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ContainerRuntimeInfoAnalyze_envVars(ctx, field) if err != nil { return graphql.Null } @@ -5423,7 +5527,7 @@ func (ec *executionContext) _ContainerWorkloadManifestAnalyze_originalEnv(ctx co }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.OriginalEnv, nil + return obj.EnvVars, nil }) if err != nil { ec.Error(ctx, err) @@ -5440,9 +5544,9 @@ func (ec *executionContext) _ContainerWorkloadManifestAnalyze_originalEnv(ctx co return ec.marshalNEntityProperty2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityPropertyᚄ(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_ContainerWorkloadManifestAnalyze_originalEnv(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_ContainerRuntimeInfoAnalyze_envVars(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "ContainerWorkloadManifestAnalyze", + Object: "ContainerRuntimeInfoAnalyze", Field: field, IsMethod: false, IsResolver: false, @@ -8153,8 +8257,8 @@ func (ec *executionContext) fieldContext_HttpPayloadCollection_dropPartialPayloa return fc, nil } -func (ec *executionContext) _InstrumentationConfigAnalyze_created(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationConfigAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_InstrumentationConfigAnalyze_created(ctx, field) +func (ec *executionContext) _InstrumentationInstanceAnalyze_healthy(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationInstanceAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_InstrumentationInstanceAnalyze_healthy(ctx, field) if err != nil { return graphql.Null } @@ -8167,7 +8271,7 @@ func (ec *executionContext) _InstrumentationConfigAnalyze_created(ctx context.Co }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.Created, nil + return obj.Healthy, nil }) if err != nil { ec.Error(ctx, err) @@ -8184,9 +8288,9 @@ func (ec *executionContext) _InstrumentationConfigAnalyze_created(ctx context.Co return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_InstrumentationConfigAnalyze_created(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_InstrumentationInstanceAnalyze_healthy(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "InstrumentationConfigAnalyze", + Object: "InstrumentationInstanceAnalyze", Field: field, IsMethod: false, IsResolver: false, @@ -8207,273 +8311,8 @@ func (ec *executionContext) fieldContext_InstrumentationConfigAnalyze_created(_ return fc, nil } -func (ec *executionContext) _InstrumentationConfigAnalyze_createTime(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationConfigAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_InstrumentationConfigAnalyze_createTime(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreateTime, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*model.EntityProperty) - fc.Result = res - return ec.marshalOEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_InstrumentationConfigAnalyze_createTime(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "InstrumentationConfigAnalyze", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext_EntityProperty_name(ctx, field) - case "value": - return ec.fieldContext_EntityProperty_value(ctx, field) - case "status": - return ec.fieldContext_EntityProperty_status(ctx, field) - case "explain": - return ec.fieldContext_EntityProperty_explain(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type EntityProperty", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _InstrumentationConfigAnalyze_containers(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationConfigAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_InstrumentationConfigAnalyze_containers(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Containers, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*model.ContainerRuntimeInfoAnalyze) - fc.Result = res - return ec.marshalNContainerRuntimeInfoAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerRuntimeInfoAnalyzeᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_InstrumentationConfigAnalyze_containers(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "InstrumentationConfigAnalyze", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "containerName": - return ec.fieldContext_ContainerRuntimeInfoAnalyze_containerName(ctx, field) - case "language": - return ec.fieldContext_ContainerRuntimeInfoAnalyze_language(ctx, field) - case "runtimeVersion": - return ec.fieldContext_ContainerRuntimeInfoAnalyze_runtimeVersion(ctx, field) - case "envVars": - return ec.fieldContext_ContainerRuntimeInfoAnalyze_envVars(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type ContainerRuntimeInfoAnalyze", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _InstrumentationDeviceAnalyze_statusText(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationDeviceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_InstrumentationDeviceAnalyze_statusText(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.StatusText, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*model.EntityProperty) - fc.Result = res - return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_InstrumentationDeviceAnalyze_statusText(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "InstrumentationDeviceAnalyze", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext_EntityProperty_name(ctx, field) - case "value": - return ec.fieldContext_EntityProperty_value(ctx, field) - case "status": - return ec.fieldContext_EntityProperty_status(ctx, field) - case "explain": - return ec.fieldContext_EntityProperty_explain(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type EntityProperty", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _InstrumentationDeviceAnalyze_containers(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationDeviceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_InstrumentationDeviceAnalyze_containers(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Containers, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*model.ContainerWorkloadManifestAnalyze) - fc.Result = res - return ec.marshalNContainerWorkloadManifestAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerWorkloadManifestAnalyzeᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_InstrumentationDeviceAnalyze_containers(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "InstrumentationDeviceAnalyze", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "containerName": - return ec.fieldContext_ContainerWorkloadManifestAnalyze_containerName(ctx, field) - case "devices": - return ec.fieldContext_ContainerWorkloadManifestAnalyze_devices(ctx, field) - case "originalEnv": - return ec.fieldContext_ContainerWorkloadManifestAnalyze_originalEnv(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type ContainerWorkloadManifestAnalyze", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _InstrumentationInstanceAnalyze_healthy(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationInstanceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_InstrumentationInstanceAnalyze_healthy(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Healthy, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*model.EntityProperty) - fc.Result = res - return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_InstrumentationInstanceAnalyze_healthy(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "InstrumentationInstanceAnalyze", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext_EntityProperty_name(ctx, field) - case "value": - return ec.fieldContext_EntityProperty_value(ctx, field) - case "status": - return ec.fieldContext_EntityProperty_status(ctx, field) - case "explain": - return ec.fieldContext_EntityProperty_explain(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type EntityProperty", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _InstrumentationInstanceAnalyze_message(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationInstanceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_InstrumentationInstanceAnalyze_message(ctx, field) +func (ec *executionContext) _InstrumentationInstanceAnalyze_message(ctx context.Context, field graphql.CollectedField, obj *model.InstrumentationInstanceAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_InstrumentationInstanceAnalyze_message(ctx, field) if err != nil { return graphql.Null } @@ -9797,9 +9636,9 @@ func (ec *executionContext) _K8sActualSource_containers(ctx context.Context, fie if resTmp == nil { return graphql.Null } - res := resTmp.([]*model.SourceContainerRuntimeDetails) + res := resTmp.([]*model.SourceContainer) fc.Result = res - return ec.marshalOSourceContainerRuntimeDetails2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐSourceContainerRuntimeDetailsᚄ(ctx, field.Selections, res) + return ec.marshalOSourceContainer2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐSourceContainerᚄ(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_K8sActualSource_containers(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -9811,15 +9650,19 @@ func (ec *executionContext) fieldContext_K8sActualSource_containers(_ context.Co Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { switch field.Name { case "containerName": - return ec.fieldContext_SourceContainerRuntimeDetails_containerName(ctx, field) + return ec.fieldContext_SourceContainer_containerName(ctx, field) case "language": - return ec.fieldContext_SourceContainerRuntimeDetails_language(ctx, field) + return ec.fieldContext_SourceContainer_language(ctx, field) case "runtimeVersion": - return ec.fieldContext_SourceContainerRuntimeDetails_runtimeVersion(ctx, field) - case "otherAgent": - return ec.fieldContext_SourceContainerRuntimeDetails_otherAgent(ctx, field) + return ec.fieldContext_SourceContainer_runtimeVersion(ctx, field) + case "instrumented": + return ec.fieldContext_SourceContainer_instrumented(ctx, field) + case "instrumentationMessage": + return ec.fieldContext_SourceContainer_instrumentationMessage(ctx, field) + case "otelDistroName": + return ec.fieldContext_SourceContainer_otelDistroName(ctx, field) } - return nil, fmt.Errorf("no field named %q was found under type SourceContainerRuntimeDetails", field.Name) + return nil, fmt.Errorf("no field named %q was found under type SourceContainer", field.Name) }, } return fc, nil @@ -12207,6 +12050,167 @@ func (ec *executionContext) fieldContext_OdigosAnalyze_hasErrors(_ context.Conte return fc, nil } +func (ec *executionContext) _OtelAgentsAnalyze_created(ctx context.Context, field graphql.CollectedField, obj *model.OtelAgentsAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OtelAgentsAnalyze_created(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Created, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*model.EntityProperty) + fc.Result = res + return ec.marshalNEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OtelAgentsAnalyze_created(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OtelAgentsAnalyze", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext_EntityProperty_name(ctx, field) + case "value": + return ec.fieldContext_EntityProperty_value(ctx, field) + case "status": + return ec.fieldContext_EntityProperty_status(ctx, field) + case "explain": + return ec.fieldContext_EntityProperty_explain(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type EntityProperty", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _OtelAgentsAnalyze_createTime(ctx context.Context, field graphql.CollectedField, obj *model.OtelAgentsAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OtelAgentsAnalyze_createTime(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreateTime, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*model.EntityProperty) + fc.Result = res + return ec.marshalOEntityProperty2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐEntityProperty(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OtelAgentsAnalyze_createTime(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OtelAgentsAnalyze", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext_EntityProperty_name(ctx, field) + case "value": + return ec.fieldContext_EntityProperty_value(ctx, field) + case "status": + return ec.fieldContext_EntityProperty_status(ctx, field) + case "explain": + return ec.fieldContext_EntityProperty_explain(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type EntityProperty", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _OtelAgentsAnalyze_containers(ctx context.Context, field graphql.CollectedField, obj *model.OtelAgentsAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OtelAgentsAnalyze_containers(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Containers, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*model.ContainerAgentConfigAnalyze) + fc.Result = res + return ec.marshalNContainerAgentConfigAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerAgentConfigAnalyzeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OtelAgentsAnalyze_containers(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OtelAgentsAnalyze", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "containerName": + return ec.fieldContext_ContainerAgentConfigAnalyze_containerName(ctx, field) + case "agentEnabled": + return ec.fieldContext_ContainerAgentConfigAnalyze_agentEnabled(ctx, field) + case "reason": + return ec.fieldContext_ContainerAgentConfigAnalyze_reason(ctx, field) + case "message": + return ec.fieldContext_ContainerAgentConfigAnalyze_message(ctx, field) + case "otelDistroName": + return ec.fieldContext_ContainerAgentConfigAnalyze_otelDistroName(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type ContainerAgentConfigAnalyze", field.Name) + }, + } + return fc, nil +} + func (ec *executionContext) _OverviewMetricsResponse_sources(ctx context.Context, field graphql.CollectedField, obj *model.OverviewMetricsResponse) (ret graphql.Marshaler) { fc, err := ec.fieldContext_OverviewMetricsResponse_sources(ctx, field) if err != nil { @@ -14329,10 +14333,8 @@ func (ec *executionContext) fieldContext_Query_describeSource(ctx context.Contex return ec.fieldContext_SourceAnalyze_sourceObjects(ctx, field) case "runtimeInfo": return ec.fieldContext_SourceAnalyze_runtimeInfo(ctx, field) - case "instrumentationConfig": - return ec.fieldContext_SourceAnalyze_instrumentationConfig(ctx, field) - case "instrumentationDevice": - return ec.fieldContext_SourceAnalyze_instrumentationDevice(ctx, field) + case "otelAgents": + return ec.fieldContext_SourceAnalyze_otelAgents(ctx, field) case "totalPods": return ec.fieldContext_SourceAnalyze_totalPods(ctx, field) case "podsPhasesCount": @@ -15514,8 +15516,8 @@ func (ec *executionContext) fieldContext_SourceAnalyze_runtimeInfo(_ context.Con return fc, nil } -func (ec *executionContext) _SourceAnalyze_instrumentationConfig(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceAnalyze_instrumentationConfig(ctx, field) +func (ec *executionContext) _SourceAnalyze_otelAgents(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceAnalyze_otelAgents(ctx, field) if err != nil { return graphql.Null } @@ -15528,7 +15530,7 @@ func (ec *executionContext) _SourceAnalyze_instrumentationConfig(ctx context.Con }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.InstrumentationConfig, nil + return obj.OtelAgents, nil }) if err != nil { ec.Error(ctx, err) @@ -15540,12 +15542,12 @@ func (ec *executionContext) _SourceAnalyze_instrumentationConfig(ctx context.Con } return graphql.Null } - res := resTmp.(*model.InstrumentationConfigAnalyze) + res := resTmp.(*model.OtelAgentsAnalyze) fc.Result = res - return ec.marshalNInstrumentationConfigAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐInstrumentationConfigAnalyze(ctx, field.Selections, res) + return ec.marshalNOtelAgentsAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐOtelAgentsAnalyze(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceAnalyze_instrumentationConfig(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceAnalyze_otelAgents(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "SourceAnalyze", Field: field, @@ -15554,20 +15556,20 @@ func (ec *executionContext) fieldContext_SourceAnalyze_instrumentationConfig(_ c Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { switch field.Name { case "created": - return ec.fieldContext_InstrumentationConfigAnalyze_created(ctx, field) + return ec.fieldContext_OtelAgentsAnalyze_created(ctx, field) case "createTime": - return ec.fieldContext_InstrumentationConfigAnalyze_createTime(ctx, field) + return ec.fieldContext_OtelAgentsAnalyze_createTime(ctx, field) case "containers": - return ec.fieldContext_InstrumentationConfigAnalyze_containers(ctx, field) + return ec.fieldContext_OtelAgentsAnalyze_containers(ctx, field) } - return nil, fmt.Errorf("no field named %q was found under type InstrumentationConfigAnalyze", field.Name) + return nil, fmt.Errorf("no field named %q was found under type OtelAgentsAnalyze", field.Name) }, } return fc, nil } -func (ec *executionContext) _SourceAnalyze_instrumentationDevice(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceAnalyze_instrumentationDevice(ctx, field) +func (ec *executionContext) _SourceAnalyze_totalPods(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceAnalyze_totalPods(ctx, field) if err != nil { return graphql.Null } @@ -15580,7 +15582,7 @@ func (ec *executionContext) _SourceAnalyze_instrumentationDevice(ctx context.Con }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.InstrumentationDevice, nil + return obj.TotalPods, nil }) if err != nil { ec.Error(ctx, err) @@ -15592,32 +15594,70 @@ func (ec *executionContext) _SourceAnalyze_instrumentationDevice(ctx context.Con } return graphql.Null } - res := resTmp.(*model.InstrumentationDeviceAnalyze) + res := resTmp.(int) fc.Result = res - return ec.marshalNInstrumentationDeviceAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐInstrumentationDeviceAnalyze(ctx, field.Selections, res) + return ec.marshalNInt2int(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceAnalyze_instrumentationDevice(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceAnalyze_totalPods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "SourceAnalyze", Field: field, IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "statusText": - return ec.fieldContext_InstrumentationDeviceAnalyze_statusText(ctx, field) - case "containers": - return ec.fieldContext_InstrumentationDeviceAnalyze_containers(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type InstrumentationDeviceAnalyze", field.Name) + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SourceAnalyze_podsPhasesCount(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceAnalyze_podsPhasesCount(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.PodsPhasesCount, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SourceAnalyze_podsPhasesCount(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SourceAnalyze", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") }, } return fc, nil } -func (ec *executionContext) _SourceAnalyze_totalPods(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceAnalyze_totalPods(ctx, field) +func (ec *executionContext) _SourceAnalyze_pods(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceAnalyze_pods(ctx, field) if err != nil { return graphql.Null } @@ -15630,7 +15670,7 @@ func (ec *executionContext) _SourceAnalyze_totalPods(ctx context.Context, field }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.TotalPods, nil + return obj.Pods, nil }) if err != nil { ec.Error(ctx, err) @@ -15642,26 +15682,36 @@ func (ec *executionContext) _SourceAnalyze_totalPods(ctx context.Context, field } return graphql.Null } - res := resTmp.(int) + res := resTmp.([]*model.PodAnalyze) fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) + return ec.marshalNPodAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐPodAnalyzeᚄ(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceAnalyze_totalPods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceAnalyze_pods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "SourceAnalyze", Field: field, IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") + switch field.Name { + case "podName": + return ec.fieldContext_PodAnalyze_podName(ctx, field) + case "nodeName": + return ec.fieldContext_PodAnalyze_nodeName(ctx, field) + case "phase": + return ec.fieldContext_PodAnalyze_phase(ctx, field) + case "containers": + return ec.fieldContext_PodAnalyze_containers(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type PodAnalyze", field.Name) }, } return fc, nil } -func (ec *executionContext) _SourceAnalyze_podsPhasesCount(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceAnalyze_podsPhasesCount(ctx, field) +func (ec *executionContext) _SourceContainer_containerName(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainer) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceContainer_containerName(ctx, field) if err != nil { return graphql.Null } @@ -15674,7 +15724,7 @@ func (ec *executionContext) _SourceAnalyze_podsPhasesCount(ctx context.Context, }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.PodsPhasesCount, nil + return obj.ContainerName, nil }) if err != nil { ec.Error(ctx, err) @@ -15691,9 +15741,9 @@ func (ec *executionContext) _SourceAnalyze_podsPhasesCount(ctx context.Context, return ec.marshalNString2string(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceAnalyze_podsPhasesCount(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceContainer_containerName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "SourceAnalyze", + Object: "SourceContainer", Field: field, IsMethod: false, IsResolver: false, @@ -15704,8 +15754,8 @@ func (ec *executionContext) fieldContext_SourceAnalyze_podsPhasesCount(_ context return fc, nil } -func (ec *executionContext) _SourceAnalyze_pods(ctx context.Context, field graphql.CollectedField, obj *model.SourceAnalyze) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceAnalyze_pods(ctx, field) +func (ec *executionContext) _SourceContainer_language(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainer) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceContainer_language(ctx, field) if err != nil { return graphql.Null } @@ -15718,7 +15768,7 @@ func (ec *executionContext) _SourceAnalyze_pods(ctx context.Context, field graph }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.Pods, nil + return obj.Language, nil }) if err != nil { ec.Error(ctx, err) @@ -15730,36 +15780,26 @@ func (ec *executionContext) _SourceAnalyze_pods(ctx context.Context, field graph } return graphql.Null } - res := resTmp.([]*model.PodAnalyze) + res := resTmp.(string) fc.Result = res - return ec.marshalNPodAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐPodAnalyzeᚄ(ctx, field.Selections, res) + return ec.marshalNString2string(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceAnalyze_pods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceContainer_language(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "SourceAnalyze", + Object: "SourceContainer", Field: field, IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "podName": - return ec.fieldContext_PodAnalyze_podName(ctx, field) - case "nodeName": - return ec.fieldContext_PodAnalyze_nodeName(ctx, field) - case "phase": - return ec.fieldContext_PodAnalyze_phase(ctx, field) - case "containers": - return ec.fieldContext_PodAnalyze_containers(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type PodAnalyze", field.Name) + return nil, errors.New("field of type String does not have child fields") }, } return fc, nil } -func (ec *executionContext) _SourceContainerRuntimeDetails_containerName(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainerRuntimeDetails) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceContainerRuntimeDetails_containerName(ctx, field) +func (ec *executionContext) _SourceContainer_runtimeVersion(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainer) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceContainer_runtimeVersion(ctx, field) if err != nil { return graphql.Null } @@ -15772,7 +15812,7 @@ func (ec *executionContext) _SourceContainerRuntimeDetails_containerName(ctx con }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.ContainerName, nil + return obj.RuntimeVersion, nil }) if err != nil { ec.Error(ctx, err) @@ -15789,9 +15829,9 @@ func (ec *executionContext) _SourceContainerRuntimeDetails_containerName(ctx con return ec.marshalNString2string(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceContainerRuntimeDetails_containerName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceContainer_runtimeVersion(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "SourceContainerRuntimeDetails", + Object: "SourceContainer", Field: field, IsMethod: false, IsResolver: false, @@ -15802,8 +15842,8 @@ func (ec *executionContext) fieldContext_SourceContainerRuntimeDetails_container return fc, nil } -func (ec *executionContext) _SourceContainerRuntimeDetails_language(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainerRuntimeDetails) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceContainerRuntimeDetails_language(ctx, field) +func (ec *executionContext) _SourceContainer_instrumented(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainer) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceContainer_instrumented(ctx, field) if err != nil { return graphql.Null } @@ -15816,7 +15856,7 @@ func (ec *executionContext) _SourceContainerRuntimeDetails_language(ctx context. }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.Language, nil + return obj.Instrumented, nil }) if err != nil { ec.Error(ctx, err) @@ -15828,26 +15868,26 @@ func (ec *executionContext) _SourceContainerRuntimeDetails_language(ctx context. } return graphql.Null } - res := resTmp.(string) + res := resTmp.(bool) fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) + return ec.marshalNBoolean2bool(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceContainerRuntimeDetails_language(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceContainer_instrumented(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "SourceContainerRuntimeDetails", + Object: "SourceContainer", Field: field, IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") + return nil, errors.New("field of type Boolean does not have child fields") }, } return fc, nil } -func (ec *executionContext) _SourceContainerRuntimeDetails_runtimeVersion(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainerRuntimeDetails) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceContainerRuntimeDetails_runtimeVersion(ctx, field) +func (ec *executionContext) _SourceContainer_instrumentationMessage(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainer) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceContainer_instrumentationMessage(ctx, field) if err != nil { return graphql.Null } @@ -15860,7 +15900,7 @@ func (ec *executionContext) _SourceContainerRuntimeDetails_runtimeVersion(ctx co }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.RuntimeVersion, nil + return obj.InstrumentationMessage, nil }) if err != nil { ec.Error(ctx, err) @@ -15877,9 +15917,9 @@ func (ec *executionContext) _SourceContainerRuntimeDetails_runtimeVersion(ctx co return ec.marshalNString2string(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceContainerRuntimeDetails_runtimeVersion(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceContainer_instrumentationMessage(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "SourceContainerRuntimeDetails", + Object: "SourceContainer", Field: field, IsMethod: false, IsResolver: false, @@ -15890,8 +15930,8 @@ func (ec *executionContext) fieldContext_SourceContainerRuntimeDetails_runtimeVe return fc, nil } -func (ec *executionContext) _SourceContainerRuntimeDetails_otherAgent(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainerRuntimeDetails) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SourceContainerRuntimeDetails_otherAgent(ctx, field) +func (ec *executionContext) _SourceContainer_otelDistroName(ctx context.Context, field graphql.CollectedField, obj *model.SourceContainer) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SourceContainer_otelDistroName(ctx, field) if err != nil { return graphql.Null } @@ -15904,7 +15944,7 @@ func (ec *executionContext) _SourceContainerRuntimeDetails_otherAgent(ctx contex }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return obj.OtherAgent, nil + return obj.OtelDistroName, nil }) if err != nil { ec.Error(ctx, err) @@ -15918,9 +15958,9 @@ func (ec *executionContext) _SourceContainerRuntimeDetails_otherAgent(ctx contex return ec.marshalOString2ᚖstring(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_SourceContainerRuntimeDetails_otherAgent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_SourceContainer_otelDistroName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "SourceContainerRuntimeDetails", + Object: "SourceContainer", Field: field, IsMethod: false, IsResolver: false, @@ -19516,37 +19556,33 @@ func (ec *executionContext) _Condition(ctx context.Context, sel ast.SelectionSet return out } -var containerRuntimeInfoAnalyzeImplementors = []string{"ContainerRuntimeInfoAnalyze"} +var containerAgentConfigAnalyzeImplementors = []string{"ContainerAgentConfigAnalyze"} -func (ec *executionContext) _ContainerRuntimeInfoAnalyze(ctx context.Context, sel ast.SelectionSet, obj *model.ContainerRuntimeInfoAnalyze) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, containerRuntimeInfoAnalyzeImplementors) +func (ec *executionContext) _ContainerAgentConfigAnalyze(ctx context.Context, sel ast.SelectionSet, obj *model.ContainerAgentConfigAnalyze) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, containerAgentConfigAnalyzeImplementors) out := graphql.NewFieldSet(fields) deferred := make(map[string]*graphql.FieldSet) for i, field := range fields { switch field.Name { case "__typename": - out.Values[i] = graphql.MarshalString("ContainerRuntimeInfoAnalyze") + out.Values[i] = graphql.MarshalString("ContainerAgentConfigAnalyze") case "containerName": - out.Values[i] = ec._ContainerRuntimeInfoAnalyze_containerName(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "language": - out.Values[i] = ec._ContainerRuntimeInfoAnalyze_language(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "runtimeVersion": - out.Values[i] = ec._ContainerRuntimeInfoAnalyze_runtimeVersion(ctx, field, obj) + out.Values[i] = ec._ContainerAgentConfigAnalyze_containerName(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } - case "envVars": - out.Values[i] = ec._ContainerRuntimeInfoAnalyze_envVars(ctx, field, obj) + case "agentEnabled": + out.Values[i] = ec._ContainerAgentConfigAnalyze_agentEnabled(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } + case "reason": + out.Values[i] = ec._ContainerAgentConfigAnalyze_reason(ctx, field, obj) + case "message": + out.Values[i] = ec._ContainerAgentConfigAnalyze_message(ctx, field, obj) + case "otelDistroName": + out.Values[i] = ec._ContainerAgentConfigAnalyze_otelDistroName(ctx, field, obj) default: panic("unknown field " + strconv.Quote(field.Name)) } @@ -19570,29 +19606,34 @@ func (ec *executionContext) _ContainerRuntimeInfoAnalyze(ctx context.Context, se return out } -var containerWorkloadManifestAnalyzeImplementors = []string{"ContainerWorkloadManifestAnalyze"} +var containerRuntimeInfoAnalyzeImplementors = []string{"ContainerRuntimeInfoAnalyze"} -func (ec *executionContext) _ContainerWorkloadManifestAnalyze(ctx context.Context, sel ast.SelectionSet, obj *model.ContainerWorkloadManifestAnalyze) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, containerWorkloadManifestAnalyzeImplementors) +func (ec *executionContext) _ContainerRuntimeInfoAnalyze(ctx context.Context, sel ast.SelectionSet, obj *model.ContainerRuntimeInfoAnalyze) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, containerRuntimeInfoAnalyzeImplementors) out := graphql.NewFieldSet(fields) deferred := make(map[string]*graphql.FieldSet) for i, field := range fields { switch field.Name { case "__typename": - out.Values[i] = graphql.MarshalString("ContainerWorkloadManifestAnalyze") + out.Values[i] = graphql.MarshalString("ContainerRuntimeInfoAnalyze") case "containerName": - out.Values[i] = ec._ContainerWorkloadManifestAnalyze_containerName(ctx, field, obj) + out.Values[i] = ec._ContainerRuntimeInfoAnalyze_containerName(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "language": + out.Values[i] = ec._ContainerRuntimeInfoAnalyze_language(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } - case "devices": - out.Values[i] = ec._ContainerWorkloadManifestAnalyze_devices(ctx, field, obj) + case "runtimeVersion": + out.Values[i] = ec._ContainerRuntimeInfoAnalyze_runtimeVersion(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } - case "originalEnv": - out.Values[i] = ec._ContainerWorkloadManifestAnalyze_originalEnv(ctx, field, obj) + case "envVars": + out.Values[i] = ec._ContainerRuntimeInfoAnalyze_envVars(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } @@ -20489,96 +20530,6 @@ func (ec *executionContext) _HttpPayloadCollection(ctx context.Context, sel ast. return out } -var instrumentationConfigAnalyzeImplementors = []string{"InstrumentationConfigAnalyze"} - -func (ec *executionContext) _InstrumentationConfigAnalyze(ctx context.Context, sel ast.SelectionSet, obj *model.InstrumentationConfigAnalyze) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, instrumentationConfigAnalyzeImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("InstrumentationConfigAnalyze") - case "created": - out.Values[i] = ec._InstrumentationConfigAnalyze_created(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createTime": - out.Values[i] = ec._InstrumentationConfigAnalyze_createTime(ctx, field, obj) - case "containers": - out.Values[i] = ec._InstrumentationConfigAnalyze_containers(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var instrumentationDeviceAnalyzeImplementors = []string{"InstrumentationDeviceAnalyze"} - -func (ec *executionContext) _InstrumentationDeviceAnalyze(ctx context.Context, sel ast.SelectionSet, obj *model.InstrumentationDeviceAnalyze) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, instrumentationDeviceAnalyzeImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("InstrumentationDeviceAnalyze") - case "statusText": - out.Values[i] = ec._InstrumentationDeviceAnalyze_statusText(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "containers": - out.Values[i] = ec._InstrumentationDeviceAnalyze_containers(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - var instrumentationInstanceAnalyzeImplementors = []string{"InstrumentationInstanceAnalyze"} func (ec *executionContext) _InstrumentationInstanceAnalyze(ctx context.Context, sel ast.SelectionSet, obj *model.InstrumentationInstanceAnalyze) graphql.Marshaler { @@ -21342,6 +21293,52 @@ func (ec *executionContext) _OdigosAnalyze(ctx context.Context, sel ast.Selectio return out } +var otelAgentsAnalyzeImplementors = []string{"OtelAgentsAnalyze"} + +func (ec *executionContext) _OtelAgentsAnalyze(ctx context.Context, sel ast.SelectionSet, obj *model.OtelAgentsAnalyze) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, otelAgentsAnalyzeImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("OtelAgentsAnalyze") + case "created": + out.Values[i] = ec._OtelAgentsAnalyze_created(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createTime": + out.Values[i] = ec._OtelAgentsAnalyze_createTime(ctx, field, obj) + case "containers": + out.Values[i] = ec._OtelAgentsAnalyze_containers(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + var overviewMetricsResponseImplementors = []string{"OverviewMetricsResponse"} func (ec *executionContext) _OverviewMetricsResponse(ctx context.Context, sel ast.SelectionSet, obj *model.OverviewMetricsResponse) graphql.Marshaler { @@ -22263,13 +22260,8 @@ func (ec *executionContext) _SourceAnalyze(ctx context.Context, sel ast.Selectio if out.Values[i] == graphql.Null { out.Invalids++ } - case "instrumentationConfig": - out.Values[i] = ec._SourceAnalyze_instrumentationConfig(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "instrumentationDevice": - out.Values[i] = ec._SourceAnalyze_instrumentationDevice(ctx, field, obj) + case "otelAgents": + out.Values[i] = ec._SourceAnalyze_otelAgents(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } @@ -22311,34 +22303,44 @@ func (ec *executionContext) _SourceAnalyze(ctx context.Context, sel ast.Selectio return out } -var sourceContainerRuntimeDetailsImplementors = []string{"SourceContainerRuntimeDetails"} +var sourceContainerImplementors = []string{"SourceContainer"} -func (ec *executionContext) _SourceContainerRuntimeDetails(ctx context.Context, sel ast.SelectionSet, obj *model.SourceContainerRuntimeDetails) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, sourceContainerRuntimeDetailsImplementors) +func (ec *executionContext) _SourceContainer(ctx context.Context, sel ast.SelectionSet, obj *model.SourceContainer) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, sourceContainerImplementors) out := graphql.NewFieldSet(fields) deferred := make(map[string]*graphql.FieldSet) for i, field := range fields { switch field.Name { case "__typename": - out.Values[i] = graphql.MarshalString("SourceContainerRuntimeDetails") + out.Values[i] = graphql.MarshalString("SourceContainer") case "containerName": - out.Values[i] = ec._SourceContainerRuntimeDetails_containerName(ctx, field, obj) + out.Values[i] = ec._SourceContainer_containerName(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } case "language": - out.Values[i] = ec._SourceContainerRuntimeDetails_language(ctx, field, obj) + out.Values[i] = ec._SourceContainer_language(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } case "runtimeVersion": - out.Values[i] = ec._SourceContainerRuntimeDetails_runtimeVersion(ctx, field, obj) + out.Values[i] = ec._SourceContainer_runtimeVersion(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "instrumented": + out.Values[i] = ec._SourceContainer_instrumented(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "instrumentationMessage": + out.Values[i] = ec._SourceContainer_instrumentationMessage(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } - case "otherAgent": - out.Values[i] = ec._SourceContainerRuntimeDetails_otherAgent(ctx, field, obj) + case "otelDistroName": + out.Values[i] = ec._SourceContainer_otelDistroName(ctx, field, obj) default: panic("unknown field " + strconv.Quote(field.Name)) } @@ -22949,7 +22951,7 @@ func (ec *executionContext) marshalNConditionStatus2githubᚗcomᚋodigosᚑio return v } -func (ec *executionContext) marshalNContainerRuntimeInfoAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerRuntimeInfoAnalyzeᚄ(ctx context.Context, sel ast.SelectionSet, v []*model.ContainerRuntimeInfoAnalyze) graphql.Marshaler { +func (ec *executionContext) marshalNContainerAgentConfigAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerAgentConfigAnalyzeᚄ(ctx context.Context, sel ast.SelectionSet, v []*model.ContainerAgentConfigAnalyze) graphql.Marshaler { ret := make(graphql.Array, len(v)) var wg sync.WaitGroup isLen1 := len(v) == 1 @@ -22973,7 +22975,7 @@ func (ec *executionContext) marshalNContainerRuntimeInfoAnalyze2ᚕᚖgithubᚗc if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNContainerRuntimeInfoAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerRuntimeInfoAnalyze(ctx, sel, v[i]) + ret[i] = ec.marshalNContainerAgentConfigAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerAgentConfigAnalyze(ctx, sel, v[i]) } if isLen1 { f(i) @@ -22993,17 +22995,17 @@ func (ec *executionContext) marshalNContainerRuntimeInfoAnalyze2ᚕᚖgithubᚗc return ret } -func (ec *executionContext) marshalNContainerRuntimeInfoAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerRuntimeInfoAnalyze(ctx context.Context, sel ast.SelectionSet, v *model.ContainerRuntimeInfoAnalyze) graphql.Marshaler { +func (ec *executionContext) marshalNContainerAgentConfigAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerAgentConfigAnalyze(ctx context.Context, sel ast.SelectionSet, v *model.ContainerAgentConfigAnalyze) graphql.Marshaler { if v == nil { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { ec.Errorf(ctx, "the requested element is null which the schema does not allow") } return graphql.Null } - return ec._ContainerRuntimeInfoAnalyze(ctx, sel, v) + return ec._ContainerAgentConfigAnalyze(ctx, sel, v) } -func (ec *executionContext) marshalNContainerWorkloadManifestAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerWorkloadManifestAnalyzeᚄ(ctx context.Context, sel ast.SelectionSet, v []*model.ContainerWorkloadManifestAnalyze) graphql.Marshaler { +func (ec *executionContext) marshalNContainerRuntimeInfoAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerRuntimeInfoAnalyzeᚄ(ctx context.Context, sel ast.SelectionSet, v []*model.ContainerRuntimeInfoAnalyze) graphql.Marshaler { ret := make(graphql.Array, len(v)) var wg sync.WaitGroup isLen1 := len(v) == 1 @@ -23027,7 +23029,7 @@ func (ec *executionContext) marshalNContainerWorkloadManifestAnalyze2ᚕᚖgithu if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNContainerWorkloadManifestAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerWorkloadManifestAnalyze(ctx, sel, v[i]) + ret[i] = ec.marshalNContainerRuntimeInfoAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerRuntimeInfoAnalyze(ctx, sel, v[i]) } if isLen1 { f(i) @@ -23047,14 +23049,14 @@ func (ec *executionContext) marshalNContainerWorkloadManifestAnalyze2ᚕᚖgithu return ret } -func (ec *executionContext) marshalNContainerWorkloadManifestAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerWorkloadManifestAnalyze(ctx context.Context, sel ast.SelectionSet, v *model.ContainerWorkloadManifestAnalyze) graphql.Marshaler { +func (ec *executionContext) marshalNContainerRuntimeInfoAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐContainerRuntimeInfoAnalyze(ctx context.Context, sel ast.SelectionSet, v *model.ContainerRuntimeInfoAnalyze) graphql.Marshaler { if v == nil { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { ec.Errorf(ctx, "the requested element is null which the schema does not allow") } return graphql.Null } - return ec._ContainerWorkloadManifestAnalyze(ctx, sel, v) + return ec._ContainerRuntimeInfoAnalyze(ctx, sel, v) } func (ec *executionContext) marshalNCustomReadDataLabel2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐCustomReadDataLabelᚄ(ctx context.Context, sel ast.SelectionSet, v []*model.CustomReadDataLabel) graphql.Marshaler { @@ -23488,26 +23490,6 @@ func (ec *executionContext) marshalNInstallationStatus2githubᚗcomᚋodigosᚑi return v } -func (ec *executionContext) marshalNInstrumentationConfigAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐInstrumentationConfigAnalyze(ctx context.Context, sel ast.SelectionSet, v *model.InstrumentationConfigAnalyze) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._InstrumentationConfigAnalyze(ctx, sel, v) -} - -func (ec *executionContext) marshalNInstrumentationDeviceAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐInstrumentationDeviceAnalyze(ctx context.Context, sel ast.SelectionSet, v *model.InstrumentationDeviceAnalyze) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._InstrumentationDeviceAnalyze(ctx, sel, v) -} - func (ec *executionContext) marshalNInstrumentationInstanceAnalyze2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐInstrumentationInstanceAnalyzeᚄ(ctx context.Context, sel ast.SelectionSet, v []*model.InstrumentationInstanceAnalyze) graphql.Marshaler { ret := make(graphql.Array, len(v)) var wg sync.WaitGroup @@ -23784,6 +23766,16 @@ func (ec *executionContext) marshalNOdigosAnalyze2ᚖgithubᚗcomᚋodigosᚑio return ec._OdigosAnalyze(ctx, sel, v) } +func (ec *executionContext) marshalNOtelAgentsAnalyze2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐOtelAgentsAnalyze(ctx context.Context, sel ast.SelectionSet, v *model.OtelAgentsAnalyze) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._OtelAgentsAnalyze(ctx, sel, v) +} + func (ec *executionContext) marshalNOverviewMetricsResponse2githubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐOverviewMetricsResponse(ctx context.Context, sel ast.SelectionSet, v model.OverviewMetricsResponse) graphql.Marshaler { return ec._OverviewMetricsResponse(ctx, sel, &v) } @@ -24224,14 +24216,14 @@ func (ec *executionContext) marshalNSourceAnalyze2ᚖgithubᚗcomᚋodigosᚑio return ec._SourceAnalyze(ctx, sel, v) } -func (ec *executionContext) marshalNSourceContainerRuntimeDetails2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐSourceContainerRuntimeDetails(ctx context.Context, sel ast.SelectionSet, v *model.SourceContainerRuntimeDetails) graphql.Marshaler { +func (ec *executionContext) marshalNSourceContainer2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐSourceContainer(ctx context.Context, sel ast.SelectionSet, v *model.SourceContainer) graphql.Marshaler { if v == nil { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { ec.Errorf(ctx, "the requested element is null which the schema does not allow") } return graphql.Null } - return ec._SourceContainerRuntimeDetails(ctx, sel, v) + return ec._SourceContainer(ctx, sel, v) } func (ec *executionContext) unmarshalNString2string(ctx context.Context, v interface{}) (string, error) { @@ -24948,7 +24940,7 @@ func (ec *executionContext) marshalOProgrammingLanguage2ᚖgithubᚗcomᚋodigos return v } -func (ec *executionContext) marshalOSourceContainerRuntimeDetails2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐSourceContainerRuntimeDetailsᚄ(ctx context.Context, sel ast.SelectionSet, v []*model.SourceContainerRuntimeDetails) graphql.Marshaler { +func (ec *executionContext) marshalOSourceContainer2ᚕᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐSourceContainerᚄ(ctx context.Context, sel ast.SelectionSet, v []*model.SourceContainer) graphql.Marshaler { if v == nil { return graphql.Null } @@ -24975,7 +24967,7 @@ func (ec *executionContext) marshalOSourceContainerRuntimeDetails2ᚕᚖgithub if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNSourceContainerRuntimeDetails2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐSourceContainerRuntimeDetails(ctx, sel, v[i]) + ret[i] = ec.marshalNSourceContainer2ᚖgithubᚗcomᚋodigosᚑioᚋodigosᚋfrontendᚋgraphᚋmodelᚐSourceContainer(ctx, sel, v[i]) } if isLen1 { f(i) diff --git a/frontend/graph/model/models_gen.go b/frontend/graph/model/models_gen.go index c645d5f783..b6d5bbdbce 100644 --- a/frontend/graph/model/models_gen.go +++ b/frontend/graph/model/models_gen.go @@ -116,6 +116,14 @@ type Condition struct { LastTransitionTime *string `json:"lastTransitionTime,omitempty"` } +type ContainerAgentConfigAnalyze struct { + ContainerName *EntityProperty `json:"containerName"` + AgentEnabled *EntityProperty `json:"agentEnabled"` + Reason *EntityProperty `json:"reason,omitempty"` + Message *EntityProperty `json:"message,omitempty"` + OtelDistroName *EntityProperty `json:"otelDistroName,omitempty"` +} + type ContainerRuntimeInfoAnalyze struct { ContainerName *EntityProperty `json:"containerName"` Language *EntityProperty `json:"language"` @@ -123,12 +131,6 @@ type ContainerRuntimeInfoAnalyze struct { EnvVars []*EntityProperty `json:"envVars"` } -type ContainerWorkloadManifestAnalyze struct { - ContainerName *EntityProperty `json:"containerName"` - Devices *EntityProperty `json:"devices"` - OriginalEnv []*EntityProperty `json:"originalEnv"` -} - type CustomReadDataLabel struct { Condition string `json:"condition"` Title string `json:"title"` @@ -267,17 +269,6 @@ type HTTPPayloadCollectionInput struct { DropPartialPayloads *bool `json:"dropPartialPayloads,omitempty"` } -type InstrumentationConfigAnalyze struct { - Created *EntityProperty `json:"created"` - CreateTime *EntityProperty `json:"createTime,omitempty"` - Containers []*ContainerRuntimeInfoAnalyze `json:"containers"` -} - -type InstrumentationDeviceAnalyze struct { - StatusText *EntityProperty `json:"statusText"` - Containers []*ContainerWorkloadManifestAnalyze `json:"containers"` -} - type InstrumentationInstanceAnalyze struct { Healthy *EntityProperty `json:"healthy"` Message *EntityProperty `json:"message,omitempty"` @@ -333,14 +324,14 @@ type K8sActualNamespace struct { } type K8sActualSource struct { - Namespace string `json:"namespace"` - Name string `json:"name"` - Kind K8sResourceKind `json:"kind"` - NumberOfInstances *int `json:"numberOfInstances,omitempty"` - Selected *bool `json:"selected,omitempty"` - OtelServiceName *string `json:"otelServiceName,omitempty"` - Containers []*SourceContainerRuntimeDetails `json:"containers,omitempty"` - Conditions []*Condition `json:"conditions,omitempty"` + Namespace string `json:"namespace"` + Name string `json:"name"` + Kind K8sResourceKind `json:"kind"` + NumberOfInstances *int `json:"numberOfInstances,omitempty"` + Selected *bool `json:"selected,omitempty"` + OtelServiceName *string `json:"otelServiceName,omitempty"` + Containers []*SourceContainer `json:"containers,omitempty"` + Conditions []*Condition `json:"conditions,omitempty"` } type K8sDesiredNamespaceInput struct { @@ -428,6 +419,12 @@ type OdigosAnalyze struct { HasErrors bool `json:"hasErrors"` } +type OtelAgentsAnalyze struct { + Created *EntityProperty `json:"created"` + CreateTime *EntityProperty `json:"createTime,omitempty"` + Containers []*ContainerAgentConfigAnalyze `json:"containers"` +} + type OverviewMetricsResponse struct { Sources []*SingleSourceMetricsResponse `json:"sources"` Destinations []*SingleDestinationMetricsResponse `json:"destinations"` @@ -603,23 +600,24 @@ type SingleSourceMetricsResponse struct { } type SourceAnalyze struct { - Name *EntityProperty `json:"name"` - Kind *EntityProperty `json:"kind"` - Namespace *EntityProperty `json:"namespace"` - SourceObjects *InstrumentationSourcesAnalyze `json:"sourceObjects"` - RuntimeInfo *RuntimeInfoAnalyze `json:"runtimeInfo"` - InstrumentationConfig *InstrumentationConfigAnalyze `json:"instrumentationConfig"` - InstrumentationDevice *InstrumentationDeviceAnalyze `json:"instrumentationDevice"` - TotalPods int `json:"totalPods"` - PodsPhasesCount string `json:"podsPhasesCount"` - Pods []*PodAnalyze `json:"pods"` -} - -type SourceContainerRuntimeDetails struct { - ContainerName string `json:"containerName"` - Language string `json:"language"` - RuntimeVersion string `json:"runtimeVersion"` - OtherAgent *string `json:"otherAgent,omitempty"` + Name *EntityProperty `json:"name"` + Kind *EntityProperty `json:"kind"` + Namespace *EntityProperty `json:"namespace"` + SourceObjects *InstrumentationSourcesAnalyze `json:"sourceObjects"` + RuntimeInfo *RuntimeInfoAnalyze `json:"runtimeInfo"` + OtelAgents *OtelAgentsAnalyze `json:"otelAgents"` + TotalPods int `json:"totalPods"` + PodsPhasesCount string `json:"podsPhasesCount"` + Pods []*PodAnalyze `json:"pods"` +} + +type SourceContainer struct { + ContainerName string `json:"containerName"` + Language string `json:"language"` + RuntimeVersion string `json:"runtimeVersion"` + Instrumented bool `json:"instrumented"` + InstrumentationMessage string `json:"instrumentationMessage"` + OtelDistroName *string `json:"otelDistroName,omitempty"` } type TestConnectionResponse struct { diff --git a/frontend/graph/schema.graphqls b/frontend/graph/schema.graphqls index 1ccd123c8f..20f81a33cd 100644 --- a/frontend/graph/schema.graphqls +++ b/frontend/graph/schema.graphqls @@ -44,11 +44,13 @@ enum InstallationStatus { FINISHED } -type SourceContainerRuntimeDetails { +type SourceContainer { containerName: String! language: String! runtimeVersion: String! - otherAgent: String + instrumented: Boolean! + instrumentationMessage: String! + otelDistroName: String } type Condition { @@ -80,7 +82,7 @@ type K8sActualSource { numberOfInstances: Int selected: Boolean otelServiceName: String - containers: [SourceContainerRuntimeDetails!] + containers: [SourceContainer!] conditions: [Condition!] } @@ -491,26 +493,23 @@ type ContainerRuntimeInfoAnalyze { envVars: [EntityProperty!]! } -type InstrumentationConfigAnalyze { - created: EntityProperty! - createTime: EntityProperty - containers: [ContainerRuntimeInfoAnalyze!]! -} - type RuntimeInfoAnalyze { generation: EntityProperty! containers: [ContainerRuntimeInfoAnalyze!]! } -type ContainerWorkloadManifestAnalyze { +type ContainerAgentConfigAnalyze { containerName: EntityProperty! - devices: EntityProperty! - originalEnv: [EntityProperty!]! + agentEnabled: EntityProperty! + reason: EntityProperty + message: EntityProperty + otelDistroName: EntityProperty } -type InstrumentationDeviceAnalyze { - statusText: EntityProperty! - containers: [ContainerWorkloadManifestAnalyze!]! +type OtelAgentsAnalyze { + created: EntityProperty! + createTime: EntityProperty + containers: [ContainerAgentConfigAnalyze!]! } type InstrumentationInstanceAnalyze { @@ -539,8 +538,7 @@ type SourceAnalyze { sourceObjects: InstrumentationSourcesAnalyze! runtimeInfo: RuntimeInfoAnalyze! - instrumentationConfig: InstrumentationConfigAnalyze! - instrumentationDevice: InstrumentationDeviceAnalyze! + otelAgents: OtelAgentsAnalyze! totalPods: Int! podsPhasesCount: String! diff --git a/frontend/services/describe/source_describe/source_describe.go b/frontend/services/describe/source_describe/source_describe.go index 7944b94eec..9fe67fafcf 100644 --- a/frontend/services/describe/source_describe/source_describe.go +++ b/frontend/services/describe/source_describe/source_describe.go @@ -51,14 +51,10 @@ func ConvertSourceAnalyzeToGQL(analyze *source.SourceAnalyze) *model.SourceAnaly InstrumentedText: describe_utils.ConvertEntityPropertyToGQL(&analyze.SourceObjectsAnalysis.InstrumentedText), }, RuntimeInfo: convertRuntimeInfoToGQL(analyze.RuntimeInfo), - InstrumentationConfig: &model.InstrumentationConfigAnalyze{ - Created: describe_utils.ConvertEntityPropertyToGQL(&analyze.InstrumentationConfig.Created), - CreateTime: describe_utils.ConvertEntityPropertyToGQL(analyze.InstrumentationConfig.CreateTime), - Containers: convertRuntimeInfoContainersToGQL(analyze.InstrumentationConfig.Containers), - }, - InstrumentationDevice: &model.InstrumentationDeviceAnalyze{ - StatusText: describe_utils.ConvertEntityPropertyToGQL(&analyze.InstrumentationDevice.StatusText), - Containers: convertWorkloadManifestContainersToGQL(analyze.InstrumentationDevice.Containers), + OtelAgents: &model.OtelAgentsAnalyze{ + Created: describe_utils.ConvertEntityPropertyToGQL(&analyze.OtelAgents.Created), + CreateTime: describe_utils.ConvertEntityPropertyToGQL(analyze.OtelAgents.CreateTime), + Containers: convertOtelAgentContainersToGQL(analyze.OtelAgents.Containers), }, TotalPods: analyze.TotalPods, PodsPhasesCount: analyze.PodsPhasesCount, @@ -88,6 +84,20 @@ func convertRuntimeInfoContainersToGQL(containers []source.ContainerRuntimeInfoA return gqlContainers } +func convertOtelAgentContainersToGQL(containers []source.ContainerAgentConfigAnalyze) []*model.ContainerAgentConfigAnalyze { + gqlContainers := make([]*model.ContainerAgentConfigAnalyze, 0, len(containers)) + for _, container := range containers { + gqlContainers = append(gqlContainers, &model.ContainerAgentConfigAnalyze{ + ContainerName: describe_utils.ConvertEntityPropertyToGQL(&container.ContainerName), + AgentEnabled: describe_utils.ConvertEntityPropertyToGQL(&container.AgentEnabled), + Reason: describe_utils.ConvertEntityPropertyToGQL(container.Reason), + Message: describe_utils.ConvertEntityPropertyToGQL(container.Message), + OtelDistroName: describe_utils.ConvertEntityPropertyToGQL(container.OtelDistroName), + }) + } + return gqlContainers +} + func convertEntityPropertiesToGQL(props []properties.EntityProperty) []*model.EntityProperty { gqlProps := make([]*model.EntityProperty, 0, len(props)) for _, prop := range props { @@ -96,18 +106,6 @@ func convertEntityPropertiesToGQL(props []properties.EntityProperty) []*model.En return gqlProps } -func convertWorkloadManifestContainersToGQL(containers []source.ContainerWorkloadManifestAnalyze) []*model.ContainerWorkloadManifestAnalyze { - gqlContainers := make([]*model.ContainerWorkloadManifestAnalyze, 0, len(containers)) - for _, container := range containers { - gqlContainers = append(gqlContainers, &model.ContainerWorkloadManifestAnalyze{ - ContainerName: describe_utils.ConvertEntityPropertyToGQL(&container.ContainerName), - Devices: describe_utils.ConvertEntityPropertyToGQL(&container.Devices), - OriginalEnv: convertEntityPropertiesToGQL(container.OriginalEnv), - }) - } - return gqlContainers -} - func convertPodsToGQL(pods []source.PodAnalyze) []*model.PodAnalyze { gqlPods := make([]*model.PodAnalyze, 0, len(pods)) for _, pod := range pods { diff --git a/frontend/webapp/components/common/dropdowns/error-dropdown/index.tsx b/frontend/webapp/components/common/dropdowns/error-dropdown/index.tsx index ef57342949..24a155e04c 100644 --- a/frontend/webapp/components/common/dropdowns/error-dropdown/index.tsx +++ b/frontend/webapp/components/common/dropdowns/error-dropdown/index.tsx @@ -1,6 +1,6 @@ import React, { useMemo } from 'react'; import { useSourceCRUD } from '@/hooks'; -import { BACKEND_BOOLEAN } from '@/utils'; +import { CONDITION_STATUS } from '@/utils'; import { Dropdown, type DropdownProps } from '@odigos/ui-components'; interface Props { @@ -21,7 +21,7 @@ export const ErrorDropdown: React.FC = ({ title = 'Error Message', value, sources.forEach(({ conditions }) => { conditions?.forEach(({ status, message }) => { - if (status === BACKEND_BOOLEAN.FALSE && !payload.find((opt) => opt.id === message)) { + if (status === CONDITION_STATUS.FALSE && !payload.find((opt) => opt.id === message)) { payload.push({ id: message, value: message }); } }); diff --git a/frontend/webapp/components/nodes-data-flow/nodes/base-node.tsx b/frontend/webapp/components/nodes-data-flow/nodes/base-node.tsx index 889156be5a..4be76167e8 100644 --- a/frontend/webapp/components/nodes-data-flow/nodes/base-node.tsx +++ b/frontend/webapp/components/nodes-data-flow/nodes/base-node.tsx @@ -1,5 +1,6 @@ import React from 'react'; import styled from 'styled-components'; +import { CONDITION_STATUS } from '@/utils'; import { useAppStore, usePendingStore } from '@/store'; import { ErrorTriangleIcon, type SVG } from '@odigos/ui-icons'; import { Checkbox, DataTab, FadeLoader } from '@odigos/ui-components'; @@ -34,6 +35,7 @@ const Container = styled.div<{ $nodeWidth: Props['data']['nodeWidth'] }>` const BaseNode: React.FC = ({ id: nodeId, data }) => { const { nodeWidth, id: entityId, type: entityType, status, title, subTitle, icon, iconSrc, monitors, isActive, raw } = data; const isError = status === HEALTH_STATUS.UNHEALTHY; + const isSource = entityType === ENTITY_TYPES.SOURCE; const { configuredSources, setConfiguredSources } = useAppStore(); const { isThisPending } = usePendingStore(); @@ -59,8 +61,8 @@ const BaseNode: React.FC = ({ id: nodeId, data }) => { return ( <> {/* TODO: handle action/icon to apply instrumentation-rules for individual sources (@Notion GEN-1650) */} - {isPending ? : isError ? : null} - {entityType === 'source' ? : null} + {isPending || (isSource && (raw as K8sActualSource).conditions?.every(({ status }) => status === CONDITION_STATUS.UNKNOWN)) ? : isError ? : null} + {isSource ? : null} ); }; diff --git a/frontend/webapp/containers/main/actions/action-drawer/index.tsx b/frontend/webapp/containers/main/actions/action-drawer/index.tsx index 4040cc265e..6b20379b2c 100644 --- a/frontend/webapp/containers/main/actions/action-drawer/index.tsx +++ b/frontend/webapp/containers/main/actions/action-drawer/index.tsx @@ -3,11 +3,11 @@ import buildCard from './build-card'; import { ActionFormBody } from '../'; import styled from 'styled-components'; import { useDrawerStore } from '@/store'; -import { ACTION, DATA_CARDS } from '@/utils'; import { type ActionDataParsed } from '@/types'; import buildDrawerItem from './build-drawer-item'; import { useActionCRUD, useActionFormData } from '@/hooks'; import OverviewDrawer from '../../overview/overview-drawer'; +import { ACTION, CONDITION_STATUS, DATA_CARDS } from '@/utils'; import { ConditionDetails, type ConditionDetailsProps, DataCard } from '@odigos/ui-components'; import { ACTION_OPTIONS, ENTITY_TYPES, getActionIcon, NOTIFICATION_TYPE } from '@odigos/ui-utils'; @@ -76,9 +76,10 @@ export const ActionDrawer: React.FC = () => { return { conditions: - item?.conditions?.map(({ status, message }) => ({ - status: ['false', 'error'].includes(String(status).toLowerCase()) ? NOTIFICATION_TYPE.ERROR : NOTIFICATION_TYPE.SUCCESS, + item?.conditions?.map(({ status, message, lastTransitionTime }) => ({ + status: status === CONDITION_STATUS.FALSE ? NOTIFICATION_TYPE.ERROR : status === CONDITION_STATUS.TRUE ? NOTIFICATION_TYPE.SUCCESS : NOTIFICATION_TYPE.WARNING, message, + lastTransitionTime, })) || [], }; }, [selectedItem]); diff --git a/frontend/webapp/containers/main/destinations/destination-drawer/build-card.ts b/frontend/webapp/containers/main/destinations/destination-drawer/build-card.ts index 2903d387d9..39f025b7f6 100644 --- a/frontend/webapp/containers/main/destinations/destination-drawer/build-card.ts +++ b/frontend/webapp/containers/main/destinations/destination-drawer/build-card.ts @@ -27,6 +27,7 @@ const buildCard = (destination: ActualDestination, destinationTypeDetails?: Dest const shouldHide = !!hideFromReadData?.length ? compareCondition( + // @ts-ignore hideFromReadData, (destinationTypeDetails?.fields || []).map((field) => ({ name: field.name, value: parsedFields[field.name] ?? null })), ) diff --git a/frontend/webapp/containers/main/destinations/destination-drawer/index.tsx b/frontend/webapp/containers/main/destinations/destination-drawer/index.tsx index e08865831f..17700aa609 100644 --- a/frontend/webapp/containers/main/destinations/destination-drawer/index.tsx +++ b/frontend/webapp/containers/main/destinations/destination-drawer/index.tsx @@ -2,10 +2,10 @@ import React, { useEffect, useMemo, useState } from 'react'; import buildCard from './build-card'; import styled from 'styled-components'; import { useDrawerStore } from '@/store'; -import { ACTION, DATA_CARDS } from '@/utils'; import { type ActualDestination } from '@/types'; import buildDrawerItem from './build-drawer-item'; import OverviewDrawer from '../../overview/overview-drawer'; +import { ACTION, CONDITION_STATUS, DATA_CARDS } from '@/utils'; import { DestinationFormBody } from '../destination-form-body'; import { ENTITY_TYPES, NOTIFICATION_TYPE } from '@odigos/ui-utils'; import { useDestinationCRUD, useDestinationFormData, useDestinationTypes } from '@/hooks'; @@ -84,9 +84,10 @@ export const DestinationDrawer: React.FC = () => { return { conditions: - item?.conditions?.map(({ status, message }) => ({ - status: ['false', 'error'].includes(String(status).toLowerCase()) ? NOTIFICATION_TYPE.ERROR : NOTIFICATION_TYPE.SUCCESS, + item?.conditions?.map(({ status, message, lastTransitionTime }) => ({ + status: status === CONDITION_STATUS.FALSE ? NOTIFICATION_TYPE.ERROR : status === CONDITION_STATUS.TRUE ? NOTIFICATION_TYPE.SUCCESS : NOTIFICATION_TYPE.WARNING, message, + lastTransitionTime, })) || [], }; }, [selectedItem]); diff --git a/frontend/webapp/containers/main/destinations/destination-form-body/dynamic-fields/index.tsx b/frontend/webapp/containers/main/destinations/destination-form-body/dynamic-fields/index.tsx index 1d27edcd44..fefd099fd5 100644 --- a/frontend/webapp/containers/main/destinations/destination-form-body/dynamic-fields/index.tsx +++ b/frontend/webapp/containers/main/destinations/destination-form-body/dynamic-fields/index.tsx @@ -14,6 +14,7 @@ export const DestinationDynamicFields: React.FC = ({ fields, onChange, fo return fields?.map((field) => { const { componentType, renderCondition, ...rest } = field; + // @ts-ignore const shouldRender = compareCondition(renderCondition, fields); if (!shouldRender) return null; diff --git a/frontend/webapp/containers/main/sources/source-drawer-container/index.tsx b/frontend/webapp/containers/main/sources/source-drawer-container/index.tsx index 65de07fd3a..d8d0e7477d 100644 --- a/frontend/webapp/containers/main/sources/source-drawer-container/index.tsx +++ b/frontend/webapp/containers/main/sources/source-drawer-container/index.tsx @@ -8,7 +8,7 @@ import { CodeIcon, ListIcon } from '@odigos/ui-icons'; import { UpdateSourceBody } from '../update-source-body'; import { useDescribeSource, useSourceCRUD } from '@/hooks'; import OverviewDrawer from '../../overview/overview-drawer'; -import { ACTION, BACKEND_BOOLEAN, DATA_CARDS } from '@/utils'; +import { ACTION, CONDITION_STATUS, DATA_CARDS } from '@/utils'; import { ENTITY_TYPES, getEntityIcon, NOTIFICATION_TYPE, safeJsonStringify, type WorkloadId } from '@odigos/ui-utils'; import { ConditionDetails, ConditionDetailsProps, DATA_CARD_FIELD_TYPES, DataCard, type DataCardFieldsProps, Segment } from '@odigos/ui-components'; @@ -95,9 +95,10 @@ export const SourceDrawer: React.FC = () => { return { conditions: - item?.conditions?.map(({ status, message }) => ({ - status: ['false', 'error'].includes(String(status).toLowerCase()) ? NOTIFICATION_TYPE.ERROR : NOTIFICATION_TYPE.SUCCESS, + item?.conditions?.map(({ status, message, lastTransitionTime }) => ({ + status: status === CONDITION_STATUS.FALSE ? NOTIFICATION_TYPE.ERROR : status === CONDITION_STATUS.TRUE ? NOTIFICATION_TYPE.SUCCESS : NOTIFICATION_TYPE.WARNING, message, + lastTransitionTime, })) || [], }; }, [selectedItem]); @@ -107,7 +108,7 @@ export const SourceDrawer: React.FC = () => { const { item } = selectedItem as { item: K8sActualSource }; const hasPresenceOfOtherAgent = - item?.conditions?.some((condition) => condition.status === BACKEND_BOOLEAN.FALSE && condition.message.includes('device not added to any container due to the presence of another agent')) || + item?.conditions?.some((condition) => condition.status === CONDITION_STATUS.FALSE && condition.message.includes('device not added to any container due to the presence of another agent')) || false; return ( diff --git a/frontend/webapp/graphql/queries/compute-platform.ts b/frontend/webapp/graphql/queries/compute-platform.ts index aaacb4a9e2..b8492cb994 100644 --- a/frontend/webapp/graphql/queries/compute-platform.ts +++ b/frontend/webapp/graphql/queries/compute-platform.ts @@ -50,12 +50,12 @@ export const GET_SOURCES = gql` containerName language runtimeVersion - otherAgent + instrumented + instrumentationMessage + otelDistroName } conditions { status - type - reason message lastTransitionTime } diff --git a/frontend/webapp/graphql/queries/describe.ts b/frontend/webapp/graphql/queries/describe.ts index 9bd89ca650..b7d951741f 100644 --- a/frontend/webapp/graphql/queries/describe.ts +++ b/frontend/webapp/graphql/queries/describe.ts @@ -234,7 +234,7 @@ export const DESCRIBE_SOURCE = gql` } } } - instrumentationConfig { + otelAgents { created { name value @@ -254,47 +254,25 @@ export const DESCRIBE_SOURCE = gql` status explain } - language { - name - value - status - explain - } - runtimeVersion { - name - value - status - explain - } - envVars { + agentEnabled { name value status explain } - } - } - instrumentationDevice { - statusText { - name - value - status - explain - } - containers { - containerName { + reason { name value status explain } - devices { + message { name value status explain } - originalEnv { + otelDistroName { name value status diff --git a/frontend/webapp/hooks/describe/useDescribeSource.ts b/frontend/webapp/hooks/describe/useDescribeSource.ts index a515b14b3d..9b3d3518c1 100644 --- a/frontend/webapp/hooks/describe/useDescribeSource.ts +++ b/frontend/webapp/hooks/describe/useDescribeSource.ts @@ -32,11 +32,10 @@ export const useDescribeSource = ({ namespace, name, kind }: WorkloadId) => { }; Object.values(code).forEach((val) => mapObjects(val)); - Object.values(code.sourceObjects).forEach((val) => mapObjects(val, 'Sources')); - Object.values(code.instrumentationConfig).forEach((val) => mapObjects(val, 'Instrumentation Config')); + Object.values(code?.sourceObjects || {}).forEach((val) => mapObjects(val, 'Sources')); + Object.values(code?.otelAgents || {}).forEach((val) => mapObjects(val, 'Instrumentation Config')); + code.otelAgents?.containers?.forEach((obj, i) => Object.values(obj).forEach((val) => mapObjects(val, 'Instrumentation Config', { keyPrefix: `Container #${i + 1} - ` }))); code.runtimeInfo?.containers?.forEach((obj, i) => Object.values(obj).forEach((val) => mapObjects(val, 'Runtime Info', { keyPrefix: `Container #${i + 1} - ` }))); - Object.values(code.instrumentationDevice).forEach((val) => mapObjects(val, 'Instrumentation Device')); - code.instrumentationDevice?.containers?.forEach((obj, i) => Object.values(obj).forEach((val) => mapObjects(val, 'Instrumentation Device', { keyPrefix: `Container #${i + 1} - ` }))); payload['Pods'] = { 'Total Pods': `${code.totalPods}@status=none` }; code.pods.forEach((obj) => { diff --git a/frontend/webapp/hooks/sources/useSourceCRUD.ts b/frontend/webapp/hooks/sources/useSourceCRUD.ts index 37ce8bd3af..4893e3a143 100644 --- a/frontend/webapp/hooks/sources/useSourceCRUD.ts +++ b/frontend/webapp/hooks/sources/useSourceCRUD.ts @@ -4,7 +4,7 @@ import { useMutation } from '@apollo/client'; import { useNamespace } from '../compute-platform'; import { PERSIST_SOURCE, UPDATE_K8S_ACTUAL_SOURCE } from '@/graphql'; import { type PatchSourceRequestInput, type K8sActualSource } from '@/types'; -import { ACTION, BACKEND_BOOLEAN, DISPLAY_TITLES, FORM_ALERTS } from '@/utils'; +import { ACTION, CONDITION_STATUS, DISPLAY_TITLES, FORM_ALERTS } from '@/utils'; import { ENTITY_TYPES, getSseTargetFromId, K8S_RESOURCE_KIND, NOTIFICATION_TYPE, type WorkloadId } from '@odigos/ui-utils'; import { type PendingItem, useAppStore, useFilterStore, useNotificationStore, usePaginatedStore, usePendingStore } from '@/store'; @@ -49,7 +49,7 @@ export const useSourceCRUD = (params?: Params) => { if (!!filters.namespace) arr = arr.filter((source) => filters.namespace?.id === source.namespace); if (!!filters.types.length) arr = arr.filter((source) => !!filters.types.find((type) => type.id === source.kind)); - if (!!filters.onlyErrors) arr = arr.filter((source) => !!source.conditions?.find((cond) => cond.status === BACKEND_BOOLEAN.FALSE)); + if (!!filters.onlyErrors) arr = arr.filter((source) => !!source.conditions?.find((cond) => cond.status === CONDITION_STATUS.FALSE)); if (!!filters.errors.length) arr = arr.filter((source) => !!filters.errors.find((error) => !!source.conditions?.find((cond) => cond.message === error.id))); if (!!filters.languages.length) arr = arr.filter((source) => !!filters.languages.find((language) => !!source.containers?.find((cont) => cont.language === language.id))); diff --git a/frontend/webapp/package.json b/frontend/webapp/package.json index 1f7333da42..cbc825bc4d 100644 --- a/frontend/webapp/package.json +++ b/frontend/webapp/package.json @@ -13,10 +13,10 @@ "dependencies": { "@apollo/client": "^3.12.9", "@apollo/experimental-nextjs-app-support": "^0.11.8", - "@odigos/ui-components": "^0.0.37", + "@odigos/ui-components": "^0.0.45", "@odigos/ui-icons": "^0.0.2", "@odigos/ui-theme": "^0.0.2", - "@odigos/ui-utils": "^0.0.6", + "@odigos/ui-utils": "^0.0.8", "@xyflow/react": "^12.4.2", "graphql": "^16.10.0", "javascript-time-ago": "^2.5.11", diff --git a/frontend/webapp/types/common.ts b/frontend/webapp/types/common.ts index cd5839ec19..7d5abfdb89 100644 --- a/frontend/webapp/types/common.ts +++ b/frontend/webapp/types/common.ts @@ -8,8 +8,6 @@ export interface ExportedSignals { export interface Condition { status: string; - type: string; - reason: string; message: string; lastTransitionTime: string; } diff --git a/frontend/webapp/types/describe.ts b/frontend/webapp/types/describe.ts index 4b74c3b85f..e5a319ab5e 100644 --- a/frontend/webapp/types/describe.ts +++ b/frontend/webapp/types/describe.ts @@ -24,21 +24,18 @@ interface RuntimeInfoAnalyze { containers: ContainerRuntimeInfoAnalyze[]; } -interface InstrumentationConfigAnalyze { - created: EntityProperty; - createTime?: EntityProperty; - containers: ContainerRuntimeInfoAnalyze[]; -} - -interface ContainerWorkloadManifestAnalyze { +interface ContainerAgentConfigAnalyze { containerName: EntityProperty; - devices: EntityProperty; - originalEnv: EntityProperty[]; + agentEnabled: EntityProperty; + reason?: EntityProperty; + message?: EntityProperty; + otelDistroName?: EntityProperty; } -interface InstrumentationDeviceAnalyze { - statusText: EntityProperty; - containers: ContainerWorkloadManifestAnalyze[]; +interface OtelAgentsAnalyze { + created: EntityProperty; + createTime?: EntityProperty; + containers: ContainerAgentConfigAnalyze[]; } interface InstrumentationInstanceAnalyze { @@ -64,11 +61,10 @@ interface SourceAnalyze { name: EntityProperty; kind: EntityProperty; namespace: EntityProperty; - sourceObjects: InstrumentationSourcesAnalyze; + sourceObjects?: InstrumentationSourcesAnalyze; runtimeInfo?: RuntimeInfoAnalyze; - instrumentationConfig: InstrumentationConfigAnalyze; - instrumentationDevice: InstrumentationDeviceAnalyze; + otelAgents?: OtelAgentsAnalyze; totalPods: number; podsPhasesCount: string; diff --git a/frontend/webapp/types/sources.ts b/frontend/webapp/types/sources.ts index ae05ede5fa..af311d4fca 100644 --- a/frontend/webapp/types/sources.ts +++ b/frontend/webapp/types/sources.ts @@ -5,15 +5,17 @@ export interface SourceContainer { containerName: string; language: PROGRAMMING_LANGUAGES; runtimeVersion: string; - otherAgent: string | null; + instrumented: boolean; + instrumentationMessage: string; + otelDistroName: string | null; } export interface K8sActualSource extends WorkloadId { selected: boolean; numberOfInstances?: number; otelServiceName: string; - containers: Array; - conditions: Array | null; + containers: SourceContainer[]; + conditions: Condition[] | null; } export interface PatchSourceRequestInput { diff --git a/frontend/webapp/utils/constants/string.tsx b/frontend/webapp/utils/constants/string.tsx index dcdfca1ae9..9d23745ab5 100644 --- a/frontend/webapp/utils/constants/string.tsx +++ b/frontend/webapp/utils/constants/string.tsx @@ -48,9 +48,10 @@ export const FORM_ALERTS = { READONLY_WARNING: "You're not allowed to create/update/delete in readonly mode", }; -export const BACKEND_BOOLEAN = { +export const CONDITION_STATUS = { FALSE: 'False', TRUE: 'True', + UNKNOWN: 'Unknown', }; export const DATA_CARDS = { diff --git a/frontend/webapp/yarn.lock b/frontend/webapp/yarn.lock index 3b30f150ad..60224ba195 100644 --- a/frontend/webapp/yarn.lock +++ b/frontend/webapp/yarn.lock @@ -521,17 +521,18 @@ resolved "https://registry.yarnpkg.com/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz#3dc35ba0f1e66b403c00b39344f870298ebb1c8e" integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA== -"@odigos/ui-components@^0.0.37": - version "0.0.37" - resolved "https://registry.yarnpkg.com/@odigos/ui-components/-/ui-components-0.0.37.tgz#27c0a4c346e28af69300c16d40d63e457250e605" - integrity sha512-ZV0+v0g63YHQn1+tLw0wlXrloaQt3SKZ+fENXVe/SsUO1AJ5XGdVClymCx3hmk/OJnr5HsOPu8B65whT9Hk6xQ== +"@odigos/ui-components@^0.0.45": + version "0.0.45" + resolved "https://registry.yarnpkg.com/@odigos/ui-components/-/ui-components-0.0.45.tgz#a32854fabe2304f5f1b7d6dd2d0c5a15734135ff" + integrity sha512-YGicjsh+ST1m2Cl8F/0kbbQpmel3KKqn14UtO0YM3lnF/k4x1gkGtyfRTqGk1bFNOcH5uATVHHsbUJSPoDbZng== dependencies: "@odigos/ui-icons" "^0.0.2" "@odigos/ui-theme" "^0.0.2" - "@odigos/ui-utils" "^0.0.3" + "@odigos/ui-utils" "^0.0.8" prism-react-renderer "^2.4.1" react "^19.0.0" react-dom "^19.0.0" + react-lottie "^1.2.10" styled-components "^6.1.14" "@odigos/ui-icons@^0.0.2": @@ -552,21 +553,10 @@ react-dom "^19.0.0" styled-components "^6.1.14" -"@odigos/ui-utils@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@odigos/ui-utils/-/ui-utils-0.0.3.tgz#f69200442ff1d52322c6c469c5eec3bec98df640" - integrity sha512-M1Ys9N5drozQNNIydkwjHK1omr1tszCosDmEVETbjMmIKhm01B8AKfKjY8VmBBILpZQnZN2fjUC/DWAvSUQh5g== - dependencies: - "@odigos/ui-icons" "^0.0.2" - javascript-time-ago "^2.5.11" - react "^19.0.0" - react-dom "^19.0.0" - styled-components "^6.1.14" - -"@odigos/ui-utils@^0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@odigos/ui-utils/-/ui-utils-0.0.6.tgz#10084c433151081c6ff1e3031fae221169f9ca51" - integrity sha512-s30fM28QBnYFmesalsJSn/ELom+AnIAB8JRNfsN5iC2WMtJjJ+vtLBzLxEPFT9uUc/493n5YC840NfGyP6yjPQ== +"@odigos/ui-utils@^0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@odigos/ui-utils/-/ui-utils-0.0.8.tgz#f1042948d2207420e796c7f6ce2b3f894905bac2" + integrity sha512-lB9xYPqQcz/UzKoGKIS+fF4B/Ca3iNKpViVJvswfnwEtMs79OINTm/JPWsKci1exNakPy6F9nWpycQZMXYjhAQ== dependencies: "@odigos/ui-icons" "^0.0.2" javascript-time-ago "^2.5.11" @@ -1257,6 +1247,14 @@ babel-plugin-styled-components@^2.1.4: lodash "^4.17.21" picomatch "^2.3.1" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1504,6 +1502,11 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3018,6 +3021,11 @@ loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +lottie-web@^5.12.2: + version "5.12.2" + resolved "https://registry.yarnpkg.com/lottie-web/-/lottie-web-5.12.2.tgz#579ca9fe6d3fd9e352571edd3c0be162492f68e5" + integrity sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg== + math-intrinsics@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" @@ -3375,7 +3383,7 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.6.1, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -3447,6 +3455,15 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-lottie@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/react-lottie/-/react-lottie-1.2.10.tgz#399f78a448a7833b2380d74fc489ecf15f8d18c7" + integrity sha512-x0eWX3Z6zSx1XM5QSjnLupc6D22LlMCB0PH06O/N/epR2hsLaj1Vxd9RtMnbbEHjJ/qlsgHJ6bpN3vnZI92hjw== + dependencies: + babel-runtime "^6.26.0" + lottie-web "^5.12.2" + prop-types "^15.6.1" + react@19.0.0, react@^19.0.0: version "19.0.0" resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd" @@ -3466,6 +3483,11 @@ reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: get-proto "^1.0.1" which-builtin-type "^1.2.1" +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + regenerator-runtime@^0.14.0: version "0.14.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" diff --git a/helm/odigos/templates/crds/odigos.io_instrumentationconfigs.yaml b/helm/odigos/templates/crds/odigos.io_instrumentationconfigs.yaml index b0425e0823..550129cb3f 100644 --- a/helm/odigos/templates/crds/odigos.io_instrumentationconfigs.yaml +++ b/helm/odigos/templates/crds/odigos.io_instrumentationconfigs.yaml @@ -42,6 +42,52 @@ spec: Config for the OpenTelemeetry SDKs that should be applied to a workload. The workload is identified by the owner reference properties: + agentInjectionEnabled: + description: determines if odigos should inject agents to pods of + this workload. + type: boolean + containers: + description: configuration for each instrumented container in the + workload + items: + description: ContainerAgentConfig is a configuration for a specific + container in a workload. + properties: + agentEnabled: + description: boolean flag to indicate if the agent should be + enabled for this container. + type: boolean + agentEnabledMessage: + description: |- + free text message to provide more information about the instrumentation decision. + can be left empty if reason is self-explanatory. + type: string + agentEnabledReason: + description: An enum reason for the agent injection decision. + enum: + - EnabledSuccessfully + - WaitingForRuntimeInspection + - WaitingForNodeCollector + - UnsupportedProgrammingLanguage + - IgnoredContainer + - NoAvailableAgent + - UnsupportedRuntimeVersion + - OtherAgentDetected + type: string + containerName: + description: The name of the container to which this configuration + applies. + type: string + otelDistroName: + description: |- + The name of the otel distribution to use for this container. + if the name is empty, this container should not be instrumented. + type: string + required: + - agentEnabled + - containerName + type: object + type: array sdkConfigs: description: |- Configuration for the OpenTelemetry SDKs that this workload should use. @@ -419,6 +465,8 @@ spec: description: the service.name property is used to populate the `service.name` resource attribute in the telemetry generated by this workload type: string + required: + - agentInjectionEnabled type: object status: properties: @@ -553,6 +601,12 @@ spec: - language type: object type: array + workloadRolloutHash: + description: |- + The hash used to determine whether the associated workload needs to be rolled out. + This hash is calculated based on the containers config array and takes into account the + container name, Instrumented flag and the OTel distro name. + type: string type: object type: object served: true diff --git a/helm/odigos/templates/instrumentor/webhooks.yaml b/helm/odigos/templates/instrumentor/webhooks.yaml index f13b98f296..697661dd5e 100644 --- a/helm/odigos/templates/instrumentor/webhooks.yaml +++ b/helm/odigos/templates/instrumentor/webhooks.yaml @@ -31,9 +31,6 @@ webhooks: failurePolicy: Ignore reinvocationPolicy: IfNeeded sideEffects: None - objectSelector: - matchLabels: - odigos.io/inject-instrumentation: "true" timeoutSeconds: 10 admissionReviewVersions: ["v1"] --- diff --git a/helm/odigos/templates/odiglet/role.yaml b/helm/odigos/templates/odiglet/role.yaml index 6d7f3b10fa..98926504be 100644 --- a/helm/odigos/templates/odiglet/role.yaml +++ b/helm/odigos/templates/odiglet/role.yaml @@ -13,13 +13,3 @@ rules: - get - list - watch - - apiGroups: - - '' - resourceNames: - - effective-config - resources: - - configmaps - verbs: - - get - - list - - watch diff --git a/instrumentor/controllers/agentenabled/collectorsgroup_controller.go b/instrumentor/controllers/agentenabled/collectorsgroup_controller.go new file mode 100644 index 0000000000..16b65ef5c3 --- /dev/null +++ b/instrumentor/controllers/agentenabled/collectorsgroup_controller.go @@ -0,0 +1,16 @@ +package agentenabled + +import ( + "context" + + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +type CollectorsGroupReconciler struct { + client.Client +} + +func (r *CollectorsGroupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { + return reconcileAll(ctx, r.Client) +} diff --git a/instrumentor/controllers/agentenabled/effectiveconfig_controller.go b/instrumentor/controllers/agentenabled/effectiveconfig_controller.go new file mode 100644 index 0000000000..d39656e0f2 --- /dev/null +++ b/instrumentor/controllers/agentenabled/effectiveconfig_controller.go @@ -0,0 +1,16 @@ +package agentenabled + +import ( + "context" + + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +type EffectiveConfigReconciler struct { + client.Client +} + +func (r *EffectiveConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { + return reconcileAll(ctx, r.Client) +} diff --git a/instrumentor/controllers/agentenabled/instrumentationconfig_controller.go b/instrumentor/controllers/agentenabled/instrumentationconfig_controller.go new file mode 100644 index 0000000000..b7fbbdb183 --- /dev/null +++ b/instrumentor/controllers/agentenabled/instrumentationconfig_controller.go @@ -0,0 +1,16 @@ +package agentenabled + +import ( + "context" + + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +type InstrumentationConfigReconciler struct { + client.Client +} + +func (r *InstrumentationConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { + return reconcileWorkload(ctx, r.Client, req.Name, req.Namespace) +} diff --git a/instrumentor/controllers/agentenabled/instrumentationrule_controller.go b/instrumentor/controllers/agentenabled/instrumentationrule_controller.go new file mode 100644 index 0000000000..4be262bcbe --- /dev/null +++ b/instrumentor/controllers/agentenabled/instrumentationrule_controller.go @@ -0,0 +1,30 @@ +package agentenabled + +import ( + "context" + + odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +type InstrumentationRuleReconciler struct { + client.Client +} + +func (r *InstrumentationRuleReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { + + // Fetch the InstrumentationRule instance + ir := &odigosv1.InstrumentationRule{} + err := r.Get(ctx, req.NamespacedName, ir) + if err != nil { + return ctrl.Result{}, client.IgnoreNotFound(err) + } + + // avoid processing instrumentation rules which are not relevant to this controller + if ir.Spec.OtelSdks == nil { + return ctrl.Result{}, nil + } + + return reconcileAll(ctx, r.Client) +} diff --git a/instrumentor/controllers/agentenabled/manager.go b/instrumentor/controllers/agentenabled/manager.go new file mode 100644 index 0000000000..5333955d69 --- /dev/null +++ b/instrumentor/controllers/agentenabled/manager.go @@ -0,0 +1,76 @@ +package agentenabled + +import ( + odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" + instrumentorpredicate "github.com/odigos-io/odigos/instrumentor/controllers/utils/predicates" + odigospredicate "github.com/odigos-io/odigos/k8sutils/pkg/predicate" + corev1 "k8s.io/api/core/v1" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +func SetupWithManager(mgr ctrl.Manager) error { + err := builder. + ControllerManagedBy(mgr). + Named("agentenabled-collectorsgroup"). + For(&odigosv1.CollectorsGroup{}). + WithEventFilter(predicate.And(&odigospredicate.OdigosCollectorsGroupNodePredicate, &odigospredicate.CgBecomesReadyPredicate{})). + Complete(&CollectorsGroupReconciler{ + Client: mgr.GetClient(), + }) + if err != nil { + return err + } + + err = builder. + ControllerManagedBy(mgr). + Named("agentenabled-instrumentationconfig"). + For(&odigosv1.InstrumentationConfig{}). + // When the runtime details change we need to potentially update the instrumentation config and roll out the workload. + // When the instrumentation config is deleted, we need to roll out the workload to un-instrument it. + WithEventFilter(predicate.Or(&instrumentorpredicate.RuntimeDetailsChangedPredicate{}, odigospredicate.DeletionPredicate{})). + Complete(&InstrumentationConfigReconciler{ + Client: mgr.GetClient(), + }) + if err != nil { + return err + } + + err = builder. + ControllerManagedBy(mgr). + Named("agentenabled-instrumentationrules"). + For(&odigosv1.InstrumentationRule{}). + WithEventFilter(&instrumentorpredicate.OtelSdkInstrumentationRulePredicate{}). + Complete(&InstrumentationRuleReconciler{ + Client: mgr.GetClient(), + }) + if err != nil { + return err + } + + err = builder. + ControllerManagedBy(mgr). + Named("agentenabled-effectiveconfig"). + For(&corev1.ConfigMap{}). + WithEventFilter(odigospredicate.OdigosEffectiveConfigMapPredicate). + Complete(&EffectiveConfigReconciler{ + Client: mgr.GetClient(), + }) + if err != nil { + return err + } + + err = builder. + WebhookManagedBy(mgr). + For(&corev1.Pod{}). + WithDefaulter(&PodsWebhook{ + Client: mgr.GetClient(), + }). + Complete() + if err != nil { + return err + } + + return nil +} diff --git a/instrumentor/controllers/instrumentationdevice/pods_webhook.go b/instrumentor/controllers/agentenabled/pods_webhook.go similarity index 94% rename from instrumentor/controllers/instrumentationdevice/pods_webhook.go rename to instrumentor/controllers/agentenabled/pods_webhook.go index 31d1f55516..33f2d80fb3 100644 --- a/instrumentor/controllers/instrumentationdevice/pods_webhook.go +++ b/instrumentor/controllers/agentenabled/pods_webhook.go @@ -1,4 +1,4 @@ -package instrumentationdevice +package agentenabled import ( "context" @@ -48,31 +48,40 @@ func (p *PodsWebhook) Default(ctx context.Context, obj runtime.Object) error { pod, ok := obj.(*corev1.Pod) if !ok { - logger.Error(errors.New("expected a Pod but got a %T"), "failed to inject odigos instrumentation to new pod") + logger.Error(errors.New("expected a Pod but got a %T"), "failed to inject odigos agent") return nil } pw, err := p.podWorkload(ctx, pod) if err != nil { // TODO: if the webhook is enabled for all pods, this is not necessarily an error - logger.Error(err, "failed to get pod workload details. Skipping Injection of ODIGOS environment variables") + logger.Error(err, "failed to get pod workload details. Skipping Injection of ODIGOS agent") + return nil + } else if pw == nil { return nil } var ic odigosv1.InstrumentationConfig icName := workload.CalculateWorkloadRuntimeObjectName(pw.Name, pw.Kind) - if err := p.Get(ctx, client.ObjectKey{Namespace: pw.Namespace, Name: icName}, &ic); err != nil { + err = p.Get(ctx, client.ObjectKey{Namespace: pw.Namespace, Name: icName}, &ic) + if err != nil { if apierrors.IsNotFound(err) { + // instrumentationConfig does not exist, this pod does not belong to any odigos workloads return nil } - logger.Error(err, "failed to get instrumentationConfig. Skipping Injection of ODIGOS environment variables") + logger.Error(err, "failed to get instrumentationConfig. Skipping Injection of ODIGOS agent") + return nil + } + + if !ic.Spec.AgentInjectionEnabled { + // instrumentation config exists, but no agent should be injected by webhook return nil } // Inject ODIGOS environment variables and instrumentation device into all containers injectErr := p.injectOdigosInstrumentation(ctx, pod, &ic, pw) if injectErr != nil { - logger.Error(injectErr, "failed to inject ODIGOS instrumentation. Skipping Injection of ODIGOS environment variables") + logger.Error(injectErr, "failed to inject ODIGOS instrumentation. Skipping Injection of ODIGOS agent") return nil } @@ -95,6 +104,10 @@ func (p *PodsWebhook) podWorkload(ctx context.Context, pod *corev1.Pod) (*k8scon if err != nil { return nil, fmt.Errorf("failed to extract pod workload details from pod: %w", err) } + if pw == nil { + // for pods which are not managed by odigos supported workload + return nil, nil + } if pw.Namespace == "" { if admissionRequest.Namespace != "" { diff --git a/instrumentor/controllers/agentenabled/resources.go b/instrumentor/controllers/agentenabled/resources.go new file mode 100644 index 0000000000..50a739236b --- /dev/null +++ b/instrumentor/controllers/agentenabled/resources.go @@ -0,0 +1,80 @@ +package agentenabled + +import ( + "context" + + "github.com/odigos-io/odigos/api/k8sconsts" + odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" + "github.com/odigos-io/odigos/common" + "github.com/odigos-io/odigos/instrumentor/controllers/utils" + "github.com/odigos-io/odigos/k8sutils/pkg/env" + k8sutils "github.com/odigos-io/odigos/k8sutils/pkg/utils" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// fetches the relevant resources for reconciliation of the current workload object. +// if err is returned, the reconciliation should be retried. +// the function can return without error, but some of the resources might be nil. +// this indicates that they were not found, but it is valid. +func getRelevantResources(ctx context.Context, c client.Client, pw k8sconsts.PodWorkload) ( + *odigosv1.CollectorsGroup, + *[]odigosv1.InstrumentationRule, + *common.OdigosConfiguration, + error) { + + cg, err := getCollectorsGroup(ctx, c) + if err != nil { + return nil, nil, nil, err + } + + irls, err := getRelevantInstrumentationRules(ctx, c, pw) + if err != nil { + return nil, nil, nil, err + } + + // TODO: we are yaml unmarshalling the configmap data for every workload, this is not efficient + // can we cache the configmap data in the controller? + effectiveConfig, err := k8sutils.GetCurrentOdigosConfig(ctx, c) + if err != nil { + return nil, nil, nil, err + } + + return cg, irls, &effectiveConfig, nil +} + +func getCollectorsGroup(ctx context.Context, c client.Client) (*odigosv1.CollectorsGroup, error) { + cg := odigosv1.CollectorsGroup{} + err := c.Get(ctx, client.ObjectKey{Namespace: env.GetCurrentNamespace(), Name: k8sconsts.OdigosNodeCollectorCollectorGroupName}, &cg) + if err != nil { + return nil, client.IgnoreNotFound(err) + } + return &cg, nil +} + +func getRelevantInstrumentationRules(ctx context.Context, c client.Client, pw k8sconsts.PodWorkload) (*[]odigosv1.InstrumentationRule, error) { + relevantIr := []odigosv1.InstrumentationRule{} + irList := odigosv1.InstrumentationRuleList{} + err := c.List(ctx, &irList) + if err != nil { + return nil, err + } + + for i := range irList.Items { + ir := &irList.Items[i] + + if !utils.IsWorkloadParticipatingInRule(pw, ir) { + continue + } + + if ir.Spec.OtelSdks == nil { + // we only care about otel sdks rules at the moment. + // no need to process other rules. + continue + } + + relevantIr = append(relevantIr, *ir) + } + + return &relevantIr, nil +} + diff --git a/instrumentor/controllers/agentenabled/rollout/hash.go b/instrumentor/controllers/agentenabled/rollout/hash.go new file mode 100644 index 0000000000..d40cd4176b --- /dev/null +++ b/instrumentor/controllers/agentenabled/rollout/hash.go @@ -0,0 +1,52 @@ +package rollout + +import ( + "bytes" + "crypto/sha256" + "encoding/gob" + "slices" + "strings" + + odigosv1alpha1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" +) + +func hashForContainersConfig(containersConfig []odigosv1alpha1.ContainerAgentConfig) ([]byte, error) { + if len(containersConfig) == 0 { + return []byte{}, nil + } + + // sort the entries by container name + // then hash the body of each entry + // this is required to ensure that the hash is consistent + slices.SortFunc(containersConfig, func(i, j odigosv1alpha1.ContainerAgentConfig) int { + return strings.Compare(i.ContainerName, j.ContainerName) + }) + + hash := sha256.New() + buf := bytes.Buffer{} + enc := gob.NewEncoder(&buf) + var err error + + // take only the relevant fields for computing the hash + type configHashFields struct { + ContainerName string + Instrumented bool + OtelDistroName string + } + + for i := range containersConfig { + configEntry := configHashFields{ + ContainerName: containersConfig[i].ContainerName, + Instrumented: containersConfig[i].AgentEnabled, + OtelDistroName: containersConfig[i].OtelDistroName, + } + err = enc.Encode(configEntry) + if err != nil { + return nil, err + } + hash.Write(buf.Bytes()) + buf.Reset() + } + + return hash.Sum(nil), nil +} diff --git a/instrumentor/controllers/agentenabled/rollout/hash_test.go b/instrumentor/controllers/agentenabled/rollout/hash_test.go new file mode 100644 index 0000000000..880c9e928e --- /dev/null +++ b/instrumentor/controllers/agentenabled/rollout/hash_test.go @@ -0,0 +1,68 @@ +package rollout + +import ( + "encoding/hex" + "testing" + + "github.com/stretchr/testify/assert" + + odigosv1alpha1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" +) + +func TestHashForContainersConfig(t *testing.T) { + // empty containers config + hash, err := hashForContainersConfig([]odigosv1alpha1.ContainerAgentConfig{}) + assert.NoError(t, err) + assert.Equal(t, len(hash), 0) + + containersConfig := []odigosv1alpha1.ContainerAgentConfig{ + { + ContainerName: "container1", + AgentEnabled: true, + OtelDistroName: "otel-distro-1", + }, + { + ContainerName: "container2", + AgentEnabled: false, + OtelDistroName: "otel-distro-2", + }, + } + + hash, err = hashForContainersConfig(containersConfig) + assert.NoError(t, err) + assert.Greater(t, len(hash), 0) + + // flip the order of the containers and check if the hash is the same + + containersConfig = []odigosv1alpha1.ContainerAgentConfig{ + { + ContainerName: "container2", + AgentEnabled: false, + OtelDistroName: "otel-distro-2", + }, + { + ContainerName: "container1", + AgentEnabled: true, + OtelDistroName: "otel-distro-1", + }, + } + + hash2, err := hashForContainersConfig(containersConfig) + assert.NoError(t, err) + assert.Greater(t, len(hash2), 0) + assert.Equal(t, hex.EncodeToString(hash), hex.EncodeToString(hash2)) + + // flip the false instrumented flag and check if the hash is different + containersConfig[1].AgentEnabled = true + hash3, err := hashForContainersConfig(containersConfig) + assert.NoError(t, err) + assert.Greater(t, len(hash3), 0) + assert.NotEqual(t, hex.EncodeToString(hash), hex.EncodeToString(hash3)) + + // change the distro name and check if the hash is different + containersConfig[1].OtelDistroName = "otel-distro-3" + hash4, err := hashForContainersConfig(containersConfig) + assert.NoError(t, err) + assert.Greater(t, len(hash4), 0) + assert.NotEqual(t, hex.EncodeToString(hash), hex.EncodeToString(hash4)) +} diff --git a/instrumentor/controllers/agentenabled/rollout/rollout.go b/instrumentor/controllers/agentenabled/rollout/rollout.go new file mode 100644 index 0000000000..0eb3d6a565 --- /dev/null +++ b/instrumentor/controllers/agentenabled/rollout/rollout.go @@ -0,0 +1,221 @@ +package rollout + +import ( + "context" + "encoding/hex" + "errors" + "fmt" + "time" + + "github.com/odigos-io/odigos/api/k8sconsts" + odigosv1alpha1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" + "github.com/odigos-io/odigos/k8sutils/pkg/conditions" + "github.com/odigos-io/odigos/k8sutils/pkg/utils" + "github.com/odigos-io/odigos/k8sutils/pkg/workload" + appsv1 "k8s.io/api/apps/v1" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/log" +) + +const requeueWaitingForWorkloadRollout = 10 * time.Second + +// Do potentially triggers a rollout for the given workload based on the given instrumentation config. +// If the instrumentation config is nil, the workload is rolled out - this is used for un-instrumenting workloads. +// Otherwise, the rollout config hash is calculated and compared to the saved hash in the instrumentation config. +// If the hashes are different, the workload is rolled out. +// If the hashes are the same, this is a no-op. +// +// If a rollout is triggered the status of the instrumentation config is updated with the new rollout hash +// and a corresponding condition is set. +func Do(ctx context.Context, c client.Client, ic *odigosv1alpha1.InstrumentationConfig, pw k8sconsts.PodWorkload) (ctrl.Result, error) { + logger := log.FromContext(ctx) + workloadObj := workload.ClientObjectFromWorkloadKind(pw.Kind) + err := c.Get(ctx, client.ObjectKey{Name: pw.Name, Namespace: pw.Namespace}, workloadObj) + if err != nil { + return ctrl.Result{}, client.IgnoreNotFound(err) + } + + if ic == nil { + // instrumentation config is deleted, trigger a rollout for the associated workload + // this should happen once per workload, as the instrumentation config is deleted + rolloutErr := rolloutRestartWorkload(ctx, workloadObj, c, time.Now()) + if rolloutErr != nil { + logger.Error(rolloutErr, "error rolling out workload", "name", pw.Name, "namespace", pw.Namespace) + } + return ctrl.Result{}, nil + } + + savedRolloutHash := ic.Status.WorkloadRolloutHash + newRolloutHash, err := configHash(ic) + if err != nil { + logger.Error(err, "error calculating rollout hash") + return ctrl.Result{}, nil + } + + if savedRolloutHash == newRolloutHash { + return ctrl.Result{}, nil + } + + // if a rollout is ongoing, wait for it to finish, requeue + if !isWorkloadRolloutDone(workloadObj) { + meta.SetStatusCondition(&ic.Status.Conditions, metav1.Condition{ + Type: odigosv1alpha1.WorkloadRolloutStatusConditionType, + Status: metav1.ConditionFalse, + Reason: string(odigosv1alpha1.WorkloadRolloutReasonPreviousRolloutOngoing), + Message: "waiting for workload rollout to finish before triggering a new one", + }) + err = c.Status().Update(ctx, ic) + if err != nil { + logger.Error(err, "error updating instrumentation config status") + } + return ctrl.Result{RequeueAfter: requeueWaitingForWorkloadRollout}, nil + } + + rolloutErr := rolloutRestartWorkload(ctx, workloadObj, c, time.Now()) + if rolloutErr != nil { + logger.Error(rolloutErr, "error rolling out workload", "name", pw.Name, "namespace", pw.Namespace) + } + + ic.Status.WorkloadRolloutHash = newRolloutHash + meta.SetStatusCondition(&ic.Status.Conditions, rolloutCondition(rolloutErr)) + err = c.Status().Update(ctx, ic) + return utils.K8SUpdateErrorHandler(err) +} + +// RolloutRestartWorkload restarts the given workload by patching its template annotations. +// this is bases on the kubectl implementation of restarting a workload +// https://github.com/kubernetes/kubectl/blob/master/pkg/polymorphichelpers/objectrestarter.go#L32 +func rolloutRestartWorkload(ctx context.Context, workload client.Object, c client.Client, ts time.Time) error { + patch := []byte(fmt.Sprintf(`{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt":"%s"}}}}}`, ts.Format(time.RFC3339))) + switch obj := workload.(type) { + case *appsv1.Deployment: + if obj.Spec.Paused { + return errors.New("can't restart paused deployment") + } + return c.Patch(ctx, obj, client.RawPatch(types.MergePatchType, patch)) + case *appsv1.StatefulSet: + return c.Patch(ctx, obj, client.RawPatch(types.MergePatchType, patch)) + case *appsv1.DaemonSet: + return c.Patch(ctx, obj, client.RawPatch(types.MergePatchType, patch)) + default: + return errors.New("unknown kind") + } +} + +// isWorkloadRolloutDone checks if the rollout of the given workload is done. +// this is based on the kubectl implementation of checking the rollout status: +// https://github.com/kubernetes/kubectl/blob/master/pkg/polymorphichelpers/rollout_status.go +func isWorkloadRolloutDone(obj client.Object) bool { + switch o := obj.(type) { + case *appsv1.Deployment: + if o.Generation <= o.Status.ObservedGeneration { + cond := conditions.GetDeploymentCondition(o.Status, appsv1.DeploymentProgressing) + if cond != nil && cond.Reason == conditions.TimedOutReason { + // deployment exceeded its progress deadline + return false + } + if o.Spec.Replicas != nil && o.Status.UpdatedReplicas < *o.Spec.Replicas { + // Waiting for deployment rollout to finish + return false + } + if o.Status.Replicas > o.Status.UpdatedReplicas { + // Waiting for deployment rollout to finish old replicas are pending termination. + return false + } + if o.Status.AvailableReplicas < o.Status.UpdatedReplicas { + // Waiting for deployment rollout to finish: not all updated replicas are available.. + return false + } + return true + } + return false + case *appsv1.StatefulSet: + if o.Spec.UpdateStrategy.Type != appsv1.RollingUpdateStatefulSetStrategyType { + // rollout status is only available for RollingUpdateStatefulSetStrategyType strategy type + return true + } + if o.Status.ObservedGeneration == 0 || o.Generation > o.Status.ObservedGeneration { + // Waiting for statefulset spec update to be observed + return false + } + if o.Spec.Replicas != nil && o.Status.ReadyReplicas < *o.Spec.Replicas { + // Waiting for pods to be ready + return false + } + if o.Spec.UpdateStrategy.Type == appsv1.RollingUpdateStatefulSetStrategyType && o.Spec.UpdateStrategy.RollingUpdate != nil { + if o.Spec.Replicas != nil && o.Spec.UpdateStrategy.RollingUpdate.Partition != nil { + if o.Status.UpdatedReplicas < (*o.Spec.Replicas - *o.Spec.UpdateStrategy.RollingUpdate.Partition) { + // Waiting for partitioned roll out to finish + return false + } + } + // partitioned roll out complete + return true + } + if o.Status.UpdateRevision != o.Status.CurrentRevision { + // waiting for statefulset rolling update to complete + return false + } + return true + case *appsv1.DaemonSet: + if o.Spec.UpdateStrategy.Type != appsv1.RollingUpdateDaemonSetStrategyType { + // rollout status is only available for RollingUpdateDaemonSetStrategyType strategy type + return true + } + if o.Generation <= o.Status.ObservedGeneration { + if o.Status.UpdatedNumberScheduled < o.Status.DesiredNumberScheduled { + // Waiting for daemon set rollout to finish + return false + } + if o.Status.NumberAvailable < o.Status.DesiredNumberScheduled { + // Waiting for daemon set rollout to finish + return false + } + return true + } + // Waiting for daemon set spec update to be observed + return false + default: + return false + } +} + +// configHash calculates a hash for the instrumentation config, based on the containers configuration +// if agent injection is enabled, the hash is based on the containers configuration +// if agent injection is disabled, the hash is empty +// the reason for this is to avoid unnecessary rollouts when agent injection is disabled +// (e,g the transition from empty config to a disabled one should not trigger a rollout) +func configHash(ic *odigosv1alpha1.InstrumentationConfig) (string, error) { + if !ic.Spec.AgentInjectionEnabled { + return "", nil + } + + newRolloutHashBytes, err := hashForContainersConfig(ic.Spec.Containers) + if err != nil { + return "", err + } + + return hex.EncodeToString(newRolloutHashBytes), nil +} + +func rolloutCondition(rolloutErr error) metav1.Condition { + cond := metav1.Condition{ + Type: odigosv1alpha1.WorkloadRolloutStatusConditionType, + } + + if rolloutErr == nil { + cond.Status = metav1.ConditionTrue + cond.Reason = string(odigosv1alpha1.WorkloadRolloutReasonTriggeredSuccessfully) + cond.Message = "workload rollout triggered successfully" + } else { + cond.Status = metav1.ConditionFalse + cond.Reason = string(odigosv1alpha1.WorkloadRolloutReasonFailedToPatch) + cond.Message = rolloutErr.Error() + } + + return cond +} diff --git a/instrumentor/controllers/agentenabled/sync.go b/instrumentor/controllers/agentenabled/sync.go new file mode 100644 index 0000000000..c6e2ef806c --- /dev/null +++ b/instrumentor/controllers/agentenabled/sync.go @@ -0,0 +1,376 @@ +package agentenabled + +import ( + "context" + "errors" + "fmt" + + "github.com/hashicorp/go-version" + "github.com/odigos-io/odigos/api/k8sconsts" + odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" + "github.com/odigos-io/odigos/common" + "github.com/odigos-io/odigos/distros" + "github.com/odigos-io/odigos/instrumentor/controllers/agentenabled/rollout" + "github.com/odigos-io/odigos/k8sutils/pkg/env" + "github.com/odigos-io/odigos/k8sutils/pkg/utils" + "github.com/odigos-io/odigos/k8sutils/pkg/workload" + apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/log" +) + +type agentInjectedStatusCondition struct { + + // The status represents 3 possible states for the agent injected: + // - True: agent is injected (e.g. instrumentation config is updated to inject the agent in webhook) + // - False: agent is not injected permanently (e.g. no supported agent can be injected to this workload due to unsupported runtimes, ignored containers, etc.) + // - Unknown: agent is not injected and the state is transient (e.g. waiting for runtime inspection to complete, for collector to be ready, etc.) + Status metav1.ConditionStatus + + // The reason represents the reason why the agent is not injected in an enum closed set of values. + // use the AgentInjectionReason constants to set the value to the appropriate reason. + Reason odigosv1.AgentEnabledReason + + // Human-readable message for the condition. it will show up in the ui and tools, + // and should describe any additional context for the condition in free-form text. + Message string +} + +func reconcileAll(ctx context.Context, c client.Client) (ctrl.Result, error) { + + allInstrumentationConfigs := odigosv1.InstrumentationConfigList{} + listErr := c.List(ctx, &allInstrumentationConfigs) + if listErr != nil { + return ctrl.Result{}, listErr + } + + var err error + for _, ic := range allInstrumentationConfigs.Items { + _, workloadErr := reconcileWorkload(ctx, c, ic.Name, ic.Namespace) + if workloadErr != nil { + err = errors.Join(err, workloadErr) + } + } + + return ctrl.Result{}, err +} + +func reconcileWorkload(ctx context.Context, c client.Client, icName string, namespace string) (ctrl.Result, error) { + + logger := log.FromContext(ctx) + + workloadName, workloadKind, err := workload.ExtractWorkloadInfoFromRuntimeObjectName(icName) + if err != nil { + logger.Error(err, "error parsing workload info from runtime object name") + return ctrl.Result{}, nil // return nil so not to retry + } + pw := k8sconsts.PodWorkload{ + Namespace: namespace, + Kind: workloadKind, + Name: workloadName, + } + + ic := odigosv1.InstrumentationConfig{} + err = c.Get(ctx, client.ObjectKey{Namespace: namespace, Name: icName}, &ic) + if err != nil { + if apierrors.IsNotFound(err) { + // instrumentation config is deleted, trigger a rollout for the associated workload + // this should happen once per workload, as the instrumentation config is deleted + return rollout.Do(ctx, c, nil, pw) + } + return ctrl.Result{}, err + } + + logger.Info("Reconciling workload for InstrumentationConfig object agent enabling", "name", ic.Name, "namespace", ic.Namespace, "instrumentationConfig", ic) + + condition, err := updateInstrumentationConfigSpec(ctx, c, pw, &ic) + if err != nil { + return ctrl.Result{}, err + } + + err = c.Update(ctx, &ic) + if err != nil { + return utils.K8SUpdateErrorHandler(err) + } + + cond := metav1.Condition{ + Type: odigosv1.AgentEnabledStatusConditionType, + Status: condition.Status, + Reason: string(condition.Reason), + Message: condition.Message, + } + + changed := meta.SetStatusCondition(&ic.Status.Conditions, cond) + if changed { + err = c.Status().Update(ctx, &ic) + if err != nil { + return utils.K8SUpdateErrorHandler(err) + } + } + + return rollout.Do(ctx, c, &ic, pw) +} + +// this function receives a workload object, and updates the instrumentation config object ptr. +// if the function returns without an error, it means the instrumentation config object was updated. +// caller should persist the object to the API server. +// if the function returns without an error, it also returns an agentInjectedStatusCondition object +// which records what should be written to the status.conditions field of the instrumentation config +// and later be used for viability and monitoring purposes. +func updateInstrumentationConfigSpec(ctx context.Context, c client.Client, pw k8sconsts.PodWorkload, ic *odigosv1.InstrumentationConfig) (*agentInjectedStatusCondition, error) { + + cg, irls, effectiveConfig, err := getRelevantResources(ctx, c, pw) + if err != nil { + // error of fetching one of the resources, retry + return nil, err + } + + // check if we are waiting for some transient prerequisites to be completed before injecting the agent + prerequisiteCompleted, reason, message := isReadyForInstrumentation(cg, ic) + if !prerequisiteCompleted { + ic.Spec.AgentInjectionEnabled = false + ic.Spec.Containers = []odigosv1.ContainerAgentConfig{} + return &agentInjectedStatusCondition{ + Status: metav1.ConditionUnknown, + Reason: reason, + Message: message, + }, nil + } + + tier := env.GetOdigosTierFromEnv() + defaultDistrosPerLanguage := distros.GetDefaultDistroNames(tier) + distroPerLanguage := applyRulesForDistros(defaultDistrosPerLanguage, irls) + + containersConfig := make([]odigosv1.ContainerAgentConfig, 0, len(ic.Spec.Containers)) + for _, containerRuntimeDetails := range ic.Status.RuntimeDetailsByContainer { + currentContainerConfig := containerInstrumentationConfig(containerRuntimeDetails.ContainerName, effectiveConfig, containerRuntimeDetails, distroPerLanguage) + containersConfig = append(containersConfig, currentContainerConfig) + } + ic.Spec.Containers = containersConfig + + // after updating the container configs, we can go over them and produce a useful aggregated status for the user + // if any container is instrumented, we can set the status to true + // if all containers are not instrumented, we can set the status to false and provide a reason + // notice the reason is an aggregate of the different containers, so it might not be the most accurate in edge cases. + // but it should be good enough for the user to understand why the agent is not injected. + // at this point we know we have containers, since the runtime is completed. + aggregatedCondition := containerConfigToStatusCondition(ic.Spec.Containers[0]) + instrumentedContainerNames := []string{} + for _, containerConfig := range ic.Spec.Containers { + if containerConfig.AgentEnabled { + instrumentedContainerNames = append(instrumentedContainerNames, containerConfig.ContainerName) + } + if odigosv1.AgentInjectionReasonPriority(containerConfig.AgentEnabledReason) > odigosv1.AgentInjectionReasonPriority(aggregatedCondition.Reason) { + // set to the most specific (highest priority) reason from multiple containers. + aggregatedCondition = containerConfigToStatusCondition(containerConfig) + } + } + if len(instrumentedContainerNames) > 0 { + // if any instrumented containers are found, the pods webhook should process pods for this workload. + // set the AgentInjectionEnabled to true to signal that. + ic.Spec.AgentInjectionEnabled = true + return &agentInjectedStatusCondition{ + Status: metav1.ConditionTrue, + Reason: odigosv1.AgentEnabledReasonEnabledSuccessfully, + Message: fmt.Sprintf("agent injected successfully to %d containers: %v", len(instrumentedContainerNames), instrumentedContainerNames), + }, nil + } else { + // if none of the containers are instrumented, we can set the status to false + // to signal to the webhook that those pods should not be processed. + ic.Spec.AgentInjectionEnabled = false + return aggregatedCondition, nil + } +} + +func containerConfigToStatusCondition(containerConfig odigosv1.ContainerAgentConfig) *agentInjectedStatusCondition { + if containerConfig.AgentEnabled { + // no expecting to hit this case, but for completeness + return &agentInjectedStatusCondition{ + Status: metav1.ConditionTrue, + Reason: odigosv1.AgentEnabledReasonEnabledSuccessfully, + Message: fmt.Sprintf("agent injected successfully to container %s", containerConfig.ContainerName), + } + } else { + return &agentInjectedStatusCondition{ + Status: metav1.ConditionFalse, + Reason: containerConfig.AgentEnabledReason, + Message: containerConfig.AgentEnabledMessage, + } + } +} + +func containerInstrumentationConfig(containerName string, + effectiveConfig *common.OdigosConfiguration, + runtimeDetails odigosv1.RuntimeDetailsByContainer, + distroPerLanguage map[common.ProgrammingLanguage]string) odigosv1.ContainerAgentConfig { + + // check unknown language first. if language is not supported, we can skip the rest of the checks. + if runtimeDetails.Language == common.UnknownProgrammingLanguage { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonUnsupportedProgrammingLanguage, + } + } + + // check if container is ignored by name, assuming IgnoredContainers is a short list. + for _, ignoredContainer := range effectiveConfig.IgnoredContainers { + if ignoredContainer == containerName { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonIgnoredContainer, + } + } + } + + // check for deprecated "ignored" language + // TODO: remove this in odigos v1.1 + if runtimeDetails.Language == common.IgnoredProgrammingLanguage { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonIgnoredContainer, + } + } + + // get relevant distroName for the detected language + distroName, ok := distroPerLanguage[runtimeDetails.Language] + if !ok { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonNoAvailableAgent, + } + } + + distro := distros.GetDistroByName(distroName) + if distro == nil { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonNoAvailableAgent, + } + } + + // check if the runtime version is in supported range if it is provided + if runtimeDetails.RuntimeVersion != "" && len(distro.RuntimeEnvironments) == 1 { + constraint, err := version.NewConstraint(distro.RuntimeEnvironments[0].SupportedVersions) + if err != nil { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonUnsupportedRuntimeVersion, + AgentEnabledMessage: fmt.Sprintf("failed to parse supported versions constraint: %s", distro.RuntimeEnvironments[0].SupportedVersions), + } + } + detectedVersion, err := version.NewVersion(runtimeDetails.RuntimeVersion) + if err != nil { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonUnsupportedRuntimeVersion, + AgentEnabledMessage: fmt.Sprintf("failed to parse runtime version: %s", runtimeDetails.RuntimeVersion), + } + } + if !constraint.Check(detectedVersion) { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonUnsupportedRuntimeVersion, + AgentEnabledMessage: fmt.Sprintf("%s runtime not supported by OpenTelemetry. supported versions: '%s', found: %s", distro.RuntimeEnvironments[0].Name, constraint, detectedVersion), + } + } + } + + // check for presence of other agents + if runtimeDetails.OtherAgent != nil { + if effectiveConfig.AllowConcurrentAgents == nil || !*effectiveConfig.AllowConcurrentAgents { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonOtherAgentDetected, + AgentEnabledMessage: fmt.Sprintf("odigos agent not enabled due to other instrumentation agent '%s' detected running in the container", runtimeDetails.OtherAgent.Name), + } + } else { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: true, + AgentEnabledReason: odigosv1.AgentEnabledReasonEnabledSuccessfully, + AgentEnabledMessage: fmt.Sprintf("we are operating alongside the %s, which is not the recommended configuration. We suggest disabling the %s for optimal performance.", runtimeDetails.OtherAgent.Name, runtimeDetails.OtherAgent.Name), + OtelDistroName: distroName, + } + } + } + + containerConfig := odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: true, + OtelDistroName: distroName, + } + + return containerConfig +} + +func applyRulesForDistros(defaultDistros map[common.ProgrammingLanguage]string, + instrumentationRules *[]odigosv1.InstrumentationRule) map[common.ProgrammingLanguage]string { + + for _, rule := range *instrumentationRules { + if rule.Spec.OtelSdks == nil { + continue + } + // TODO: change this from otel sdks to distros and use distro name + } + + return defaultDistros +} + +// This function checks if we are waiting for some transient prerequisites to be completed before injecting the agent. +// We can't really know for sure if something is transient or permanent, +// but the assumption is that if we wait it should eventually be resolve. +// +// Things we are waiting for before injecting the agent: +// +// 1. Node collector to be ready (so there is a receiver for the telemetry) +// - Can be transient state, in case the node collector is starting +// - Can be permanent state (image pull error, lack of resources, etc.) +// +// 2. No runtime details for this workload +// - Can be transient state, until odiglet calculates the runtime details in a short while +// - Can be permanent state (odiglet is not running, workload has not running pods, etc.) +// +// The function returns +// - waitingForPrerequisites: true if we are waiting for some prerequisites to be completed before injecting the agent +// - reason: AgentInjectionReason enum value that represents the reason why we are waiting +// - message: human-readable message that describes the reason why we are waiting +func isReadyForInstrumentation(cg *odigosv1.CollectorsGroup, ic *odigosv1.InstrumentationConfig) (bool, odigosv1.AgentEnabledReason, string) { + + // Check if the node collector is ready + isNodeCollectorReady, message := isNodeCollectorReady(cg) + if !isNodeCollectorReady { + return false, odigosv1.AgentEnabledReasonWaitingForNodeCollector, message + } + + if len(ic.Status.RuntimeDetailsByContainer) == 0 { + return false, odigosv1.AgentEnabledReasonWaitingForRuntimeInspection, "waiting for runtime inspection to complete" + } + + // report success if both prerequisites are completed + return true, odigosv1.AgentEnabledReasonEnabledSuccessfully, "" +} + +func isNodeCollectorReady(cg *odigosv1.CollectorsGroup) (bool, string) { + if cg == nil { + return false, "node collector deployment not yet created" + } + + if !cg.Status.Ready { + return false, "node collector is not yet ready to receive telemetry from instrumented workloads" + } + + // node collector is ready to receive telemetry + return true, "" +} diff --git a/instrumentor/controllers/instrumentationdevice/collectorsgroup_controller.go b/instrumentor/controllers/instrumentationdevice/collectorsgroup_controller.go deleted file mode 100644 index d46c77d683..0000000000 --- a/instrumentor/controllers/instrumentationdevice/collectorsgroup_controller.go +++ /dev/null @@ -1,88 +0,0 @@ -/* -Copyright 2022. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package instrumentationdevice - -import ( - "context" - "errors" - - odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" - - k8sutils "github.com/odigos-io/odigos/k8sutils/pkg/utils" - apierrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/runtime" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/log" -) - -// CollectorsGroupReconciler is responsible for reconciling the instrumented workloads -// once the collectors group becomes ready - by adding the instrumentation device to the workloads. -// This is necessary to ensure that we won't instrument any workload before the -// node collectors are ready to receive the data. -type CollectorsGroupReconciler struct { - client.Client - Scheme *runtime.Scheme -} - -func (r *CollectorsGroupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { - logger := log.FromContext(ctx) - isDataCollectionReady := isDataCollectionReady(ctx, r.Client) - - var instApps odigosv1.InstrumentationConfigList - if err := r.List(ctx, &instApps); err != nil { - return ctrl.Result{}, err - } - - logger.V(0).Info("Reconciling instrumented applications after node collectors group became ready", "count", len(instApps.Items)) - - var reconcileErr error - var gotConflict bool - - for _, runtimeDetails := range instApps.Items { - var currentInstApp odigosv1.InstrumentationConfig - err := r.Get(ctx, client.ObjectKey{Namespace: runtimeDetails.Namespace, Name: runtimeDetails.Name}, ¤tInstApp) - if apierrors.IsNotFound(err) { - // the loop can take time, so the instrumented application might get deleted - // in the meantime, so we ignore the error - continue - } - - if err != nil { - reconcileErr = errors.Join(reconcileErr, err) - continue - } - - err = reconcileSingleWorkload(ctx, r.Client, ¤tInstApp, isDataCollectionReady) - if err != nil { - if apierrors.IsConflict(err) { - gotConflict = true - } - if errors.Is(err, k8sutils.OtherAgentRunError) { - continue - } - reconcileErr = errors.Join(reconcileErr, err) - } - } - - if gotConflict && reconcileErr == nil { - // if we got a conflict and no other error, we will request a requeue and not return an error - // so we can retry the reconciliation but not have logs filled with errors - return ctrl.Result{Requeue: true}, nil - } - return ctrl.Result{}, reconcileErr -} diff --git a/instrumentor/controllers/instrumentationdevice/common.go b/instrumentor/controllers/instrumentationdevice/common.go deleted file mode 100644 index ce2502a0b7..0000000000 --- a/instrumentor/controllers/instrumentationdevice/common.go +++ /dev/null @@ -1,252 +0,0 @@ -package instrumentationdevice - -import ( - "context" - "errors" - - "github.com/odigos-io/odigos/api/k8sconsts" - odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" - "github.com/odigos-io/odigos/instrumentor/controllers/utils/versionsupport" - "github.com/odigos-io/odigos/instrumentor/instrumentation" - "github.com/odigos-io/odigos/instrumentor/sdks" - "github.com/odigos-io/odigos/k8sutils/pkg/conditions" - "github.com/odigos-io/odigos/k8sutils/pkg/env" - k8sutils "github.com/odigos-io/odigos/k8sutils/pkg/utils" - "github.com/odigos-io/odigos/k8sutils/pkg/workload" - appsv1 "k8s.io/api/apps/v1" - corev1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" - "sigs.k8s.io/controller-runtime/pkg/log" -) - -type ApplyInstrumentationDeviceReason string - -const ( - ApplyInstrumentationDeviceReasonDataCollectionNotReady ApplyInstrumentationDeviceReason = "DataCollectionNotReady" - ApplyInstrumentationDeviceReasonNoRuntimeDetails ApplyInstrumentationDeviceReason = "NoRuntimeDetails" - ApplyInstrumentationDeviceReasonErrApplying ApplyInstrumentationDeviceReason = "ErrApplyingInstrumentationDevice" - ApplyInstrumentationDeviceReasonErrRemoving ApplyInstrumentationDeviceReason = "ErrRemovingInstrumentationDevice" - ApplyInstrumentationDeviceReasonRuntimeVersionNotSupported ApplyInstrumentationDeviceReason = "RuntimeVersionNotSupported" -) - -const ( - appliedInstrumentationDeviceType = "AppliedInstrumentationDevice" -) - -var ( - // can be overridden in tests - GetDefaultSDKs = sdks.GetDefaultSDKs -) - -func isDataCollectionReady(ctx context.Context, c client.Client) bool { - logger := log.FromContext(ctx) - - nodeCollectorsGroup := odigosv1.CollectorsGroup{} - err := c.Get(ctx, client.ObjectKey{ - Namespace: env.GetCurrentNamespace(), - Name: k8sconsts.OdigosNodeCollectorCollectorGroupName, - }, &nodeCollectorsGroup) - - if err != nil { - if apierrors.IsNotFound(err) { - // if node collector is not yet created, then it is not ready - return false - } else { - logger.Error(err, "error getting node collector group, skipping instrumentation") - return false - } - } - - return nodeCollectorsGroup.Status.Ready -} - -func enableOdigosInstrumentation(ctx context.Context, kubeClient client.Client, instConfig *odigosv1.InstrumentationConfig) error { - - foundContainerWithSupportedLanguage := false - instrumentationSkippedDueToOtherAgent := false - - logger := log.FromContext(ctx) - obj, err := getWorkloadObject(ctx, kubeClient, instConfig) - if err != nil { - return err - } - - result, err := controllerutil.CreateOrPatch(ctx, kubeClient, obj, func() error { - podSpec, err := getPodSpecFromObject(obj) - if err != nil { - return err - } - - // get the odigos configuration to check if agents can run concurrently - // if the configuration is not found, we assume that agents can't run concurrently [default behavior] - odigosConfiguration, err := k8sutils.GetCurrentOdigosConfig(ctx, kubeClient) - if err != nil { - return err - } - - // allowConcurrentAgents is false by default unless explicitly set to true in the OdigosConfiguration - agentsCanRunConcurrently := false - if odigosConfiguration.AllowConcurrentAgents != nil { - agentsCanRunConcurrently = *odigosConfiguration.AllowConcurrentAgents - } - - instrumentationSkippedDueToOtherAgent, foundContainerWithSupportedLanguage, err = instrumentation.ConfigureInstrumentationForPod(podSpec, instConfig.Status.RuntimeDetailsByContainer, obj, logger, agentsCanRunConcurrently) - if err != nil { - return err - } - - if !instrumentationSkippedDueToOtherAgent && foundContainerWithSupportedLanguage { - // add odigos.io/inject-instrumentation label to enable the webhook - instrumentation.SetInjectInstrumentationLabel(podSpec) - } - return nil - - }) - - // if non of the devices were applied due to the presence of another agent, return an error. - if instrumentationSkippedDueToOtherAgent { - return k8sutils.OtherAgentRunError - } - - if err != nil { - return err - } - - modified := result != controllerutil.OperationResultNone - if modified { - logger.V(0).Info("inject instrumentation label to workload pod template", "name", obj.GetName(), "namespace", obj.GetNamespace()) - } - - return nil -} - -func removeInstrumentationDeviceFromWorkload(ctx context.Context, kubeClient client.Client, namespace string, workloadKind k8sconsts.WorkloadKind, workloadName string, uninstrumentReason ApplyInstrumentationDeviceReason) error { - - workloadObj := workload.ClientObjectFromWorkloadKind(workloadKind) - if workloadObj == nil { - return errors.New("unknown kind") - } - - err := kubeClient.Get(ctx, client.ObjectKey{ - Namespace: namespace, - Name: workloadName, - }, workloadObj) - if err != nil { - return client.IgnoreNotFound(err) - } - - podSpec, err := getPodSpecFromObject(workloadObj) - if err != nil { - return err - } - // If instrumentation device is removed successfully, remove odigos.io/inject-instrumentation label to disable the webhook - webhookLabelRemoved := instrumentation.RemoveInjectInstrumentationLabel(podSpec) - deviceRemoved := instrumentation.RevertInstrumentationDevices(podSpec) - - // if we didn't change anything, we don't need to update the object - // skip the api-server call, return no-op and skip the log message - if !webhookLabelRemoved && !deviceRemoved { - return nil - } - - err = kubeClient.Update(ctx, workloadObj) - if err != nil { - // if the update fails due to a conflict, the controller will retry the operation - return err - } - - logger := log.FromContext(ctx) - logger.V(0).Info("removed instrumentation device from workload", "namespace", workloadObj.GetNamespace(), "kind", workloadObj.GetObjectKind(), "name", workloadObj.GetName(), "reason", uninstrumentReason) - - return nil -} - -func getWorkloadObject(ctx context.Context, kubeClient client.Client, instConfig *odigosv1.InstrumentationConfig) (client.Object, error) { - name, kind, err := workload.ExtractWorkloadInfoFromRuntimeObjectName(instConfig.Name) - if err != nil { - return nil, err - } - - workloadObject := workload.ClientObjectFromWorkloadKind(kind) - if workloadObject == nil { - return nil, errors.New("unknown kind") - } - - err = kubeClient.Get(ctx, client.ObjectKey{ - Namespace: instConfig.Namespace, - Name: name, - }, workloadObject) - if err != nil { - return nil, err - } - - return workloadObject, nil -} - -func getPodSpecFromObject(obj client.Object) (*corev1.PodTemplateSpec, error) { - switch o := obj.(type) { - case *appsv1.Deployment: - return &o.Spec.Template, nil - case *appsv1.StatefulSet: - return &o.Spec.Template, nil - case *appsv1.DaemonSet: - return &o.Spec.Template, nil - default: - return nil, errors.New("unknown kind") - } -} - -// reconciles a single workload, which might be triggered by a change in multiple resources. -// each time a relevant resource changes, this function is called to reconcile the workload -// and always writes the status into the InstrumentationConfig CR -func reconcileSingleWorkload(ctx context.Context, kubeClient client.Client, instrumentationConfig *odigosv1.InstrumentationConfig, isNodeCollectorReady bool) error { - // RuntimeDetailsByContainer will be empty for short period until the first language detection is executed - if len(instrumentationConfig.Status.RuntimeDetailsByContainer) == 0 { - return nil - } - - workloadName, workloadKind, err := workload.ExtractWorkloadInfoFromRuntimeObjectName(instrumentationConfig.Name) - if err != nil { - conditions.UpdateStatusConditions(ctx, kubeClient, instrumentationConfig, &instrumentationConfig.Status.Conditions, metav1.ConditionFalse, appliedInstrumentationDeviceType, string(ApplyInstrumentationDeviceReasonErrRemoving), err.Error()) - return err - } - - if !isNodeCollectorReady { - err := removeInstrumentationDeviceFromWorkload(ctx, kubeClient, instrumentationConfig.Namespace, workloadKind, workloadName, ApplyInstrumentationDeviceReasonDataCollectionNotReady) - if err == nil { - conditions.UpdateStatusConditions(ctx, kubeClient, instrumentationConfig, &instrumentationConfig.Status.Conditions, metav1.ConditionFalse, appliedInstrumentationDeviceType, string(ApplyInstrumentationDeviceReasonDataCollectionNotReady), "OpenTelemetry pipeline not yet ready to receive data") - } else { - conditions.UpdateStatusConditions(ctx, kubeClient, instrumentationConfig, &instrumentationConfig.Status.Conditions, metav1.ConditionFalse, appliedInstrumentationDeviceType, string(ApplyInstrumentationDeviceReasonErrRemoving), err.Error()) - } - return err - } - - runtimeVersionSupport, err := versionsupport.IsRuntimeVersionSupported(ctx, instrumentationConfig.Status.RuntimeDetailsByContainer) - if !runtimeVersionSupport { - errRemove := removeInstrumentationDeviceFromWorkload(ctx, kubeClient, instrumentationConfig.Namespace, workloadKind, workloadName, ApplyInstrumentationDeviceReasonRuntimeVersionNotSupported) - if errRemove == nil { - conditions.UpdateStatusConditions(ctx, kubeClient, instrumentationConfig, &instrumentationConfig.Status.Conditions, metav1.ConditionFalse, appliedInstrumentationDeviceType, string(ApplyInstrumentationDeviceReasonRuntimeVersionNotSupported), err.Error()) - } else { - conditions.UpdateStatusConditions(ctx, kubeClient, instrumentationConfig, &instrumentationConfig.Status.Conditions, metav1.ConditionFalse, appliedInstrumentationDeviceType, string(ApplyInstrumentationDeviceReasonErrRemoving), errRemove.Error()) - } - return nil - } - - err = enableOdigosInstrumentation(ctx, kubeClient, instrumentationConfig) - if err != nil { - - conditions.UpdateStatusConditions(ctx, kubeClient, instrumentationConfig, &instrumentationConfig.Status.Conditions, - metav1.ConditionFalse, appliedInstrumentationDeviceType, string(ApplyInstrumentationDeviceReasonErrApplying), - "Odigos instrumentation failed to apply") - } else { - - enabledMessage := "Odigos instrumentation is enabled" - conditions.UpdateStatusConditions(ctx, kubeClient, instrumentationConfig, &instrumentationConfig.Status.Conditions, - metav1.ConditionTrue, appliedInstrumentationDeviceType, "InstrumentationEnabled", enabledMessage) - } - - return err -} diff --git a/instrumentor/controllers/instrumentationdevice/instrumentationconfig_controller.go b/instrumentor/controllers/instrumentationdevice/instrumentationconfig_controller.go deleted file mode 100644 index 7bebf59493..0000000000 --- a/instrumentor/controllers/instrumentationdevice/instrumentationconfig_controller.go +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright 2022. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package instrumentationdevice - -import ( - "context" - - odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" - "github.com/odigos-io/odigos/k8sutils/pkg/utils" - "github.com/odigos-io/odigos/k8sutils/pkg/workload" - apierrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/runtime" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/log" -) - -type InstrumentationConfigReconciler struct { - client.Client - Scheme *runtime.Scheme -} - -func (r *InstrumentationConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { - logger := log.FromContext(ctx) - - var instConfig odigosv1.InstrumentationConfig - err := r.Client.Get(ctx, req.NamespacedName, &instConfig) - if err != nil { - - if !apierrors.IsNotFound(err) { - return ctrl.Result{}, err - } - - // instrumentation config deleted: remove instrumentation from resource requests - workloadName, workloadKind, err := workload.ExtractWorkloadInfoFromRuntimeObjectName(req.Name) - if err != nil { - logger.Error(err, "error parsing workload info from runtime object name") - return ctrl.Result{}, err - } - err = removeInstrumentationDeviceFromWorkload(ctx, r.Client, req.Namespace, workloadKind, workloadName, ApplyInstrumentationDeviceReasonNoRuntimeDetails) - return utils.K8SUpdateErrorHandler(err) - } - - isNodeCollectorReady := isDataCollectionReady(ctx, r.Client) - err = reconcileSingleWorkload(ctx, r.Client, &instConfig, isNodeCollectorReady) - return utils.K8SUpdateErrorHandler(err) -} diff --git a/instrumentor/controllers/instrumentationdevice/instrumentationrule_controller.go b/instrumentor/controllers/instrumentationdevice/instrumentationrule_controller.go deleted file mode 100644 index 86fac7326a..0000000000 --- a/instrumentor/controllers/instrumentationdevice/instrumentationrule_controller.go +++ /dev/null @@ -1,51 +0,0 @@ -package instrumentationdevice - -import ( - "context" - "errors" - - odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" - k8sutils "github.com/odigos-io/odigos/k8sutils/pkg/utils" - apierrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/runtime" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/log" -) - -type InstrumentationRuleReconciler struct { - client.Client - Scheme *runtime.Scheme -} - -func (r *InstrumentationRuleReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { - - var instApps odigosv1.InstrumentationConfigList - if err := r.List(ctx, &instApps); err != nil { - return ctrl.Result{}, err - } - isNodeCollectorReady := isDataCollectionReady(ctx, r.Client) - - gotConflict := false - for _, runtimeDetails := range instApps.Items { - err := reconcileSingleWorkload(ctx, r.Client, &runtimeDetails, isNodeCollectorReady) - if err != nil { - if apierrors.IsConflict(err) { - gotConflict = true - } else if errors.Is(err, k8sutils.OtherAgentRunError) { - continue - } else { - return ctrl.Result{}, err - } - } - } - - logger := log.FromContext(ctx) - logger.V(0).Info("InstrumentationRule changed, recalculating instrumentation device for potential changes of otel sdks") - - if gotConflict { - return ctrl.Result{Requeue: true}, nil - } else { - return ctrl.Result{}, nil - } -} diff --git a/instrumentor/controllers/instrumentationdevice/manager.go b/instrumentor/controllers/instrumentationdevice/manager.go deleted file mode 100644 index a8b5599e29..0000000000 --- a/instrumentor/controllers/instrumentationdevice/manager.go +++ /dev/null @@ -1,178 +0,0 @@ -package instrumentationdevice - -import ( - odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" - "github.com/odigos-io/odigos/common" - instrumentorpredicate "github.com/odigos-io/odigos/instrumentor/controllers/utils/predicates" - odigospredicate "github.com/odigos-io/odigos/k8sutils/pkg/predicate" - appsv1 "k8s.io/api/apps/v1" - corev1 "k8s.io/api/core/v1" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/builder" - "sigs.k8s.io/controller-runtime/pkg/event" - "sigs.k8s.io/controller-runtime/pkg/predicate" -) - -func countOdigosResources(resources corev1.ResourceList) int { - numOdigosResources := 0 - for resourceName := range resources { - if common.IsResourceNameOdigosInstrumentation(resourceName.String()) { - numOdigosResources = numOdigosResources + 1 - } - } - return numOdigosResources -} - -type workloadPodTemplatePredicate struct { - predicate.Funcs -} - -func (w workloadPodTemplatePredicate) Create(e event.CreateEvent) bool { - // when instrumentor restarts, this case will be triggered as workloads objects are being added to the cache. - // in this case, we need to reconcile the workload, and guarantee that the device is injected or removed - // based on the current state of the cluster. - // if the instrumented application is deleted but the device is not cleaned, - // the instrumented application controller will not be invoked after restart, which is why we need to handle this case here. - return true -} - -func (w workloadPodTemplatePredicate) Update(e event.UpdateEvent) bool { - - if e.ObjectOld == nil || e.ObjectNew == nil { - return false - } - - oldPodSpec, err := getPodSpecFromObject(e.ObjectOld) - if err != nil { - return false - } - newPodSpec, err := getPodSpecFromObject(e.ObjectNew) - if err != nil { - return false - } - - // only handle workloads if any env changed - if len(oldPodSpec.Spec.Containers) != len(newPodSpec.Spec.Containers) { - return true - } - for i := range oldPodSpec.Spec.Containers { - if len(oldPodSpec.Spec.Containers[i].Env) != len(newPodSpec.Spec.Containers[i].Env) { - return true - } - for j := range oldPodSpec.Spec.Containers[i].Env { - prevEnv := &newPodSpec.Spec.Containers[i].Env[j] - newEnv := &oldPodSpec.Spec.Containers[i].Env[j] - if prevEnv.Name != newEnv.Name || prevEnv.Value != newEnv.Value { - return true - } - } - - // user might apply a change to workload which will overwrite odigos injected resources - prevNumOdigosResources := countOdigosResources(oldPodSpec.Spec.Containers[i].Resources.Limits) - newNumOdigosResources := countOdigosResources(newPodSpec.Spec.Containers[i].Resources.Limits) - if prevNumOdigosResources != newNumOdigosResources { - return true - } - } - - return false -} - -func (w workloadPodTemplatePredicate) Delete(e event.DeleteEvent) bool { - return false -} - -func (w workloadPodTemplatePredicate) Generic(e event.GenericEvent) bool { - return false -} - -func SetupWithManager(mgr ctrl.Manager) error { - err := builder. - ControllerManagedBy(mgr). - Named("instrumentationdevice-collectorsgroup"). - For(&odigosv1.CollectorsGroup{}). - WithEventFilter(predicate.And(&odigospredicate.OdigosCollectorsGroupNodePredicate, &odigospredicate.CgBecomesReadyPredicate{})). - Complete(&CollectorsGroupReconciler{ - Client: mgr.GetClient(), - Scheme: mgr.GetScheme(), - }) - if err != nil { - return err - } - - err = builder. - ControllerManagedBy(mgr). - Named("instrumentationdevice-instrumentationconfig"). - For(&odigosv1.InstrumentationConfig{}). - // The following events are relevant to the device injection/removal from the instrumentation config: - // 1. When the runtime details are changed - // 2. When the instrumentation config is deleted - WithEventFilter(predicate.Or(&instrumentorpredicate.RuntimeDetailsChangedPredicate{}, &odigospredicate.DeletionPredicate{})). - Complete(&InstrumentationConfigReconciler{ - Client: mgr.GetClient(), - Scheme: mgr.GetScheme(), - }) - if err != nil { - return err - } - - err = builder. - ControllerManagedBy(mgr). - Named("instrumentationdevice-deployment"). - For(&appsv1.Deployment{}). - WithEventFilter(workloadPodTemplatePredicate{}). - Complete(&DeploymentReconciler{ - Client: mgr.GetClient(), - }) - if err != nil { - return err - } - - err = builder. - ControllerManagedBy(mgr). - Named("instrumentationdevice-daemonset"). - For(&appsv1.DaemonSet{}). - WithEventFilter(workloadPodTemplatePredicate{}). - Complete(&DaemonSetReconciler{ - Client: mgr.GetClient(), - }) - if err != nil { - return err - } - - err = builder. - ControllerManagedBy(mgr). - For(&appsv1.StatefulSet{}). - WithEventFilter(workloadPodTemplatePredicate{}). - Complete(&StatefulSetReconciler{ - Client: mgr.GetClient(), - }) - if err != nil { - return err - } - - err = builder. - ControllerManagedBy(mgr). - Named("instrumentationdevice-instrumentationrules"). - For(&odigosv1.InstrumentationRule{}). - WithEventFilter(&instrumentorpredicate.OtelSdkInstrumentationRulePredicate{}). - Complete(&InstrumentationRuleReconciler{ - Client: mgr.GetClient(), - }) - if err != nil { - return err - } - - err = builder. - WebhookManagedBy(mgr). - For(&corev1.Pod{}). - WithDefaulter(&PodsWebhook{ - Client: mgr.GetClient(), - }). - Complete() - if err != nil { - return err - } - - return nil -} diff --git a/instrumentor/controllers/instrumentationdevice/workload_controllers.go b/instrumentor/controllers/instrumentationdevice/workload_controllers.go deleted file mode 100644 index 7e9864afd9..0000000000 --- a/instrumentor/controllers/instrumentationdevice/workload_controllers.go +++ /dev/null @@ -1,65 +0,0 @@ -package instrumentationdevice - -import ( - "context" - - "github.com/odigos-io/odigos/api/k8sconsts" - odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" - "github.com/odigos-io/odigos/k8sutils/pkg/utils" - "github.com/odigos-io/odigos/k8sutils/pkg/workload" - apierrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/types" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" -) - -type DeploymentReconciler struct { - client.Client -} - -func (r *DeploymentReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { - instrumentedAppName := workload.CalculateWorkloadRuntimeObjectName(req.Name, k8sconsts.WorkloadKindDeployment) - err := reconcileSingleInstrumentedApplicationByName(ctx, r.Client, instrumentedAppName, req.Namespace) - return utils.K8SUpdateErrorHandler(err) -} - -type DaemonSetReconciler struct { - client.Client -} - -func (r *DaemonSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { - instrumentedAppName := workload.CalculateWorkloadRuntimeObjectName(req.Name, k8sconsts.WorkloadKindDaemonSet) - err := reconcileSingleInstrumentedApplicationByName(ctx, r.Client, instrumentedAppName, req.Namespace) - return utils.K8SUpdateErrorHandler(err) -} - -type StatefulSetReconciler struct { - client.Client -} - -func (r *StatefulSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { - instrumentedAppName := workload.CalculateWorkloadRuntimeObjectName(req.Name, k8sconsts.WorkloadKindStatefulSet) - err := reconcileSingleInstrumentedApplicationByName(ctx, r.Client, instrumentedAppName, req.Namespace) - return utils.K8SUpdateErrorHandler(err) -} - -func reconcileSingleInstrumentedApplicationByName(ctx context.Context, k8sClient client.Client, instrumentedAppName string, namespace string) error { - var instrumentationConfig odigosv1.InstrumentationConfig - err := k8sClient.Get(ctx, types.NamespacedName{Name: instrumentedAppName, Namespace: namespace}, &instrumentationConfig) - if err != nil { - if apierrors.IsNotFound(err) { - // if there is no instrumentation config, make sure the device is removed from the workload pod template manifest - workloadName, workloadKind, err := workload.ExtractWorkloadInfoFromRuntimeObjectName(instrumentedAppName) - if err != nil { - return err - } - err = removeInstrumentationDeviceFromWorkload(ctx, k8sClient, namespace, workloadKind, workloadName, ApplyInstrumentationDeviceReasonNoRuntimeDetails) - return err - } else { - return err - } - } - isNodeCollectorReady := isDataCollectionReady(ctx, k8sClient) - - return reconcileSingleWorkload(ctx, k8sClient, &instrumentationConfig, isNodeCollectorReady) -} diff --git a/instrumentor/controllers/utils/instrumentationrules.go b/instrumentor/controllers/utils/instrumentationrules.go index 3c193c12b1..2dd096b004 100644 --- a/instrumentor/controllers/utils/instrumentationrules.go +++ b/instrumentor/controllers/utils/instrumentationrules.go @@ -8,6 +8,12 @@ import ( // naive implementation, can be optimized. // assumption is that the list of workloads is small func IsWorkloadParticipatingInRule(workload k8sconsts.PodWorkload, rule *odigosv1alpha1.InstrumentationRule) bool { + + // first check if the rule is disabled + if rule.Spec.Disabled { + return false + } + // nil means all workloads are participating if rule.Spec.Workloads == nil { return true diff --git a/instrumentor/controllers/utils/versionsupport/dotnet_support.go b/instrumentor/controllers/utils/versionsupport/dotnet_support.go deleted file mode 100644 index fc749d41de..0000000000 --- a/instrumentor/controllers/utils/versionsupport/dotnet_support.go +++ /dev/null @@ -1,13 +0,0 @@ -package versionsupport - -import "github.com/hashicorp/go-version" - -type DotNetVersionCheck struct{} - -func (g DotNetVersionCheck) IsVersionSupported(version *version.Version) bool { - return true -} - -func (g DotNetVersionCheck) GetSupportedVersion() string { - return "0.0.0" -} diff --git a/instrumentor/controllers/utils/versionsupport/go_support.go b/instrumentor/controllers/utils/versionsupport/go_support.go deleted file mode 100644 index db5672f1f0..0000000000 --- a/instrumentor/controllers/utils/versionsupport/go_support.go +++ /dev/null @@ -1,15 +0,0 @@ -package versionsupport - -import "github.com/hashicorp/go-version" - -type GoVersionCheck struct{} - -var goMinVersion, _ = version.NewVersion("1.17") - -func (g GoVersionCheck) IsVersionSupported(version *version.Version) bool { - return version.GreaterThanOrEqual(goMinVersion) -} - -func (g GoVersionCheck) GetSupportedVersion() string { - return goMinVersion.String() -} diff --git a/instrumentor/controllers/utils/versionsupport/ignored_support.go b/instrumentor/controllers/utils/versionsupport/ignored_support.go deleted file mode 100644 index 01f03f13b2..0000000000 --- a/instrumentor/controllers/utils/versionsupport/ignored_support.go +++ /dev/null @@ -1,15 +0,0 @@ -package versionsupport - -import "github.com/hashicorp/go-version" - -type IgnoredVersionCheck struct{} - -func (g IgnoredVersionCheck) IsVersionSupported(version *version.Version) bool { - // ignored containers are anyhow not used for device injection. - // we will return true here so not to fail all containers due to this check. - return true -} - -func (g IgnoredVersionCheck) GetSupportedVersion() string { - return "" -} diff --git a/instrumentor/controllers/utils/versionsupport/java_support.go b/instrumentor/controllers/utils/versionsupport/java_support.go deleted file mode 100644 index f50d5821d7..0000000000 --- a/instrumentor/controllers/utils/versionsupport/java_support.go +++ /dev/null @@ -1,15 +0,0 @@ -package versionsupport - -import "github.com/hashicorp/go-version" - -type JavaVersionChecker struct{} - -var JavaMinVersion, _ = version.NewVersion("17.0.11+8") - -func (j JavaVersionChecker) IsVersionSupported(version *version.Version) bool { - return true -} - -func (j JavaVersionChecker) GetSupportedVersion() string { - return JavaMinVersion.String() -} diff --git a/instrumentor/controllers/utils/versionsupport/language_version_support.go b/instrumentor/controllers/utils/versionsupport/language_version_support.go deleted file mode 100644 index 29d661b851..0000000000 --- a/instrumentor/controllers/utils/versionsupport/language_version_support.go +++ /dev/null @@ -1,80 +0,0 @@ -package versionsupport - -import ( - "context" - "fmt" - - "github.com/hashicorp/go-version" - "github.com/odigos-io/odigos/api/odigos/v1alpha1" - "github.com/odigos-io/odigos/common" - "sigs.k8s.io/controller-runtime/pkg/log" -) - -type RuntimeVersionChecker interface { - IsVersionSupported(version *version.Version) bool - GetSupportedVersion() string -} - -func IsRuntimeVersionSupported(ctx context.Context, details []v1alpha1.RuntimeDetailsByContainer) (bool, error) { - logger := log.FromContext(ctx) - - for _, runtimeDetailsByContainer := range details { - runtimeVersionSupporter := getRuntimeVersionCheck(runtimeDetailsByContainer.Language) - if runtimeVersionSupporter == nil { - logger.Info("Unsupported language", "language", runtimeDetailsByContainer.Language) - return false, fmt.Errorf("Unsupported language: %s", runtimeDetailsByContainer.Language) - } - - if runtimeDetailsByContainer.RuntimeVersion == "" { - continue - } - - runtimeVersion, err := version.NewVersion(runtimeDetailsByContainer.RuntimeVersion) - if err != nil { - logger.Info("Version format error: Invalid version for language", - "runtimeVersion", runtimeDetailsByContainer.RuntimeVersion, - "language", runtimeDetailsByContainer.Language, - ) - return false, fmt.Errorf("Version format error: %s is not a valid version for language %s", - runtimeDetailsByContainer.RuntimeVersion, runtimeDetailsByContainer.Language) - } - - if !runtimeVersionSupporter.IsVersionSupported(runtimeVersion) { - runtimeVersionOtelSDKSupport := runtimeVersionSupporter.GetSupportedVersion() - logger.Info("Runtime version not supported by OpenTelemetry SDK", - "language", runtimeDetailsByContainer.Language, - "runtimeVersion", runtimeDetailsByContainer.RuntimeVersion, - "supportedVersions", runtimeVersionOtelSDKSupport, - ) - return false, fmt.Errorf("%s runtime version not supported by OpenTelemetry SDK. Found: %s, supports: %s", - runtimeDetailsByContainer.Language, runtimeDetailsByContainer.RuntimeVersion, runtimeVersionOtelSDKSupport) - } - } - - return true, nil -} - -func getRuntimeVersionCheck(language common.ProgrammingLanguage) RuntimeVersionChecker { - switch language { - case common.JavaProgrammingLanguage: - return &JavaVersionChecker{} - case common.GoProgrammingLanguage: - return &GoVersionCheck{} - case common.PythonProgrammingLanguage: - return &PythonVersionCheck{} - case common.DotNetProgrammingLanguage: - return &DotNetVersionCheck{} - case common.JavascriptProgrammingLanguage: - return &NodeVersionCheck{} - case common.NginxProgrammingLanguage: - return &NginxVersionCheck{} - case common.MySQLProgrammingLanguage: - return &MySQLVersionCheck{} - case common.UnknownProgrammingLanguage: - return &UnknownVersionCheck{} - case common.IgnoredProgrammingLanguage: - return &IgnoredVersionCheck{} - default: - return nil - } -} diff --git a/instrumentor/controllers/utils/versionsupport/language_version_support_test.go b/instrumentor/controllers/utils/versionsupport/language_version_support_test.go deleted file mode 100644 index c3f9f0ce0f..0000000000 --- a/instrumentor/controllers/utils/versionsupport/language_version_support_test.go +++ /dev/null @@ -1,178 +0,0 @@ -package versionsupport - -import ( - "testing" - - "github.com/odigos-io/odigos/api/odigos/v1alpha1" - "github.com/odigos-io/odigos/common" - "github.com/stretchr/testify/assert" -) - -func TestIsRuntimeVersionSupported_NotSupported(t *testing.T) { - testCases := []struct { - name string - language common.ProgrammingLanguage - version string - errorMsg string - }{ - //{"java version not supported", common.JavaProgrammingLanguage, "17.0.10+9", "java runtime version not supported by OpenTelemetry SDK. Found: 17.0.10+9, supports: 17.0.11+8"}, - //{"jdk version not supported", common.JavaProgrammingLanguage, "17.0.11+7", "java runtime version not supported by OpenTelemetry SDK. Found: 17.0.11+7, supports: 17.0.11+8"}, - {"go version not supported", common.GoProgrammingLanguage, "1.14", "go runtime version not supported by OpenTelemetry SDK. Found: 1.14, supports: 1.17.0"}, - {"javascript version not supported", common.JavascriptProgrammingLanguage, "13.9.9", "javascript runtime version not supported by OpenTelemetry SDK. Found: 13.9.9, supports: 14.0.0"}, - {"python version not supported", common.PythonProgrammingLanguage, "3.7", "python runtime version not supported by OpenTelemetry SDK. Found: 3.7, supports: 3.8.0"}, - {"nginx version not supported", common.NginxProgrammingLanguage, "1.25.4", "nginx runtime version not supported by OpenTelemetry SDK. Found: 1.25.4, supports: 1.25.5, 1.26.0"}, - {"nginx version not supported", common.NginxProgrammingLanguage, "1.26.1", "nginx runtime version not supported by OpenTelemetry SDK. Found: 1.26.1, supports: 1.25.5, 1.26.0"}, - // {"unknown language", common.UnknownProgrammingLanguage, "0.0.0", "Unsupported language: unknown"}, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - - runtimeDetails := []v1alpha1.RuntimeDetailsByContainer{ - {Language: tc.language, RuntimeVersion: tc.version}, - } - - supported, err := IsRuntimeVersionSupported(nil, runtimeDetails) - assert.Equal(t, false, supported) - assert.Error(t, err) - assert.Equal(t, err.Error(), tc.errorMsg) - }) - } -} - -func TestIsRuntimeVersionSupported_Support(t *testing.T) { - testCases := []struct { - name string - language common.ProgrammingLanguage - version string - }{ - //{"java version not supported", common.JavaProgrammingLanguage, "17.0.11+9"}, - {"go version not supported", common.GoProgrammingLanguage, "1.18"}, - {"dotnet version not supported", common.DotNetProgrammingLanguage, "0.0.0"}, - {"javascript version not supported", common.JavascriptProgrammingLanguage, "14.0.1"}, - {"python version not supported", common.PythonProgrammingLanguage, "3.9"}, - {"mySQL version not supported", common.MySQLProgrammingLanguage, "1.14.1"}, - {"nginx version not supported", common.NginxProgrammingLanguage, "1.25.5"}, - {"nginx version not supported", common.NginxProgrammingLanguage, "1.26"}, - } - - for _, tc := range testCases { - - t.Run(tc.name, func(t *testing.T) { - - runtimeDetails := []v1alpha1.RuntimeDetailsByContainer{ - {Language: tc.language, RuntimeVersion: tc.version}, - } - - supported, err := IsRuntimeVersionSupported(nil, runtimeDetails) - assert.Equal(t, true, supported) - assert.Nil(t, err) - }) - } -} - -func TestIsRuntimeVersionSupported_MultiRuntimeContainer_NotSupport(t *testing.T) { - testCases := []struct { - name string - language common.ProgrammingLanguage - version string - }{ - //{"java version not supported", common.JavaProgrammingLanguage, "17.0.11+9"}, - {"go version not supported", common.GoProgrammingLanguage, "1.18"}, - {"dotnet version not supported", common.DotNetProgrammingLanguage, "0.0.0"}, - {"javascript version not supported", common.JavascriptProgrammingLanguage, "14.0.1"}, - {"python version not supported", common.PythonProgrammingLanguage, "3.7"}, - {"mySQL version not supported", common.MySQLProgrammingLanguage, "1.14.1"}, - {"nginx version not supported", common.NginxProgrammingLanguage, "1.25.5"}, - {"nginx version not supported", common.NginxProgrammingLanguage, "1.26"}, - } - - runtimeDetails := []v1alpha1.RuntimeDetailsByContainer{} - - for _, tc := range testCases { - runtimeDetails = append(runtimeDetails, v1alpha1.RuntimeDetailsByContainer{ - Language: tc.language, - RuntimeVersion: tc.version, - }) - } - - // Run the test for the combined runtimeDetails - t.Run("multiple runtimes not supported", func(t *testing.T) { - supported, err := IsRuntimeVersionSupported(nil, runtimeDetails) - assert.Equal(t, false, supported) - assert.Error(t, err) - assert.Equal(t, err.Error(), "python runtime version not supported by OpenTelemetry SDK. Found: 3.7, supports: 3.8.0") - }) -} - -func TestIsRuntimeVersionSupported_MultiRuntimeContainer_Support(t *testing.T) { - testCases := []struct { - name string - language common.ProgrammingLanguage - version string - }{ - //{"java version not supported", common.JavaProgrammingLanguage, "17.0.11+9"}, - {"go version not supported", common.GoProgrammingLanguage, "1.18"}, - {"dotnet version not supported", common.DotNetProgrammingLanguage, "0.0.0"}, - {"javascript version not supported", common.JavascriptProgrammingLanguage, "14.0.1"}, - {"python version not supported", common.PythonProgrammingLanguage, "3.9"}, - {"mySQL version not supported", common.MySQLProgrammingLanguage, "1.14.1"}, - {"nginx version not supported", common.NginxProgrammingLanguage, "1.25.5"}, - {"nginx version not supported", common.NginxProgrammingLanguage, "1.26"}, - } - - runtimeDetails := []v1alpha1.RuntimeDetailsByContainer{} - - for _, tc := range testCases { - runtimeDetails = append(runtimeDetails, v1alpha1.RuntimeDetailsByContainer{ - Language: tc.language, - RuntimeVersion: tc.version, - }) - } - - // Run the test for the combined runtimeDetails - t.Run("multiple runtimes not supported", func(t *testing.T) { - supported, err := IsRuntimeVersionSupported(nil, runtimeDetails) - assert.Equal(t, true, supported) - assert.Nil(t, err) - }) -} - -func TestIsRuntimeVersionSupported_LanguageDoesNotExist_NotSupported(t *testing.T) { - testCase := struct { - name string - language common.ProgrammingLanguage - version string - }{"ruby language is not supported", "ruby", "17.0.10+9"} - - t.Run(testCase.name, func(t *testing.T) { - - runtimeDetails := []v1alpha1.RuntimeDetailsByContainer{ - {Language: testCase.language, RuntimeVersion: testCase.version}, - } - - supported, err := IsRuntimeVersionSupported(nil, runtimeDetails) - assert.Equal(t, false, supported) - assert.Error(t, err) - assert.Equal(t, err.Error(), "Unsupported language: ruby") - }) -} - -func TestIsRuntimeVersionSupported_VersionNotFound_Supported(t *testing.T) { - testCase := struct { - name string - language common.ProgrammingLanguage - version string - }{"java version not supported", common.JavaProgrammingLanguage, ""} - - t.Run(testCase.name, func(t *testing.T) { - - runtimeDetails := []v1alpha1.RuntimeDetailsByContainer{ - {Language: testCase.language, RuntimeVersion: testCase.version}, - } - - supported, err := IsRuntimeVersionSupported(nil, runtimeDetails) - assert.Equal(t, true, supported) - assert.Nil(t, err) - }) -} diff --git a/instrumentor/controllers/utils/versionsupport/mysql_support.go b/instrumentor/controllers/utils/versionsupport/mysql_support.go deleted file mode 100644 index ea9b5f4bdb..0000000000 --- a/instrumentor/controllers/utils/versionsupport/mysql_support.go +++ /dev/null @@ -1,13 +0,0 @@ -package versionsupport - -import "github.com/hashicorp/go-version" - -type MySQLVersionCheck struct{} - -func (g MySQLVersionCheck) IsVersionSupported(version *version.Version) bool { - return true -} - -func (g MySQLVersionCheck) GetSupportedVersion() string { - return "0.0.0" -} diff --git a/instrumentor/controllers/utils/versionsupport/nginx_support.go b/instrumentor/controllers/utils/versionsupport/nginx_support.go deleted file mode 100644 index a439ced9a4..0000000000 --- a/instrumentor/controllers/utils/versionsupport/nginx_support.go +++ /dev/null @@ -1,23 +0,0 @@ -package versionsupport - -import ( - "github.com/hashicorp/go-version" - "strings" -) - -type NginxVersionCheck struct{} - -var nginxSupportedVersions = []string{"1.25.5", "1.26.0"} - -func (g NginxVersionCheck) IsVersionSupported(version *version.Version) bool { - for _, supportedVersion := range nginxSupportedVersions { - if version.String() == supportedVersion { - return true - } - } - return false -} - -func (g NginxVersionCheck) GetSupportedVersion() string { - return strings.Join(nginxSupportedVersions, ", ") -} diff --git a/instrumentor/controllers/utils/versionsupport/node_support.go b/instrumentor/controllers/utils/versionsupport/node_support.go deleted file mode 100644 index fc6a392375..0000000000 --- a/instrumentor/controllers/utils/versionsupport/node_support.go +++ /dev/null @@ -1,15 +0,0 @@ -package versionsupport - -import "github.com/hashicorp/go-version" - -type NodeVersionCheck struct{} - -var nodeMinVersion, _ = version.NewVersion("14") - -func (g NodeVersionCheck) IsVersionSupported(version *version.Version) bool { - return version.GreaterThanOrEqual(nodeMinVersion) -} - -func (g NodeVersionCheck) GetSupportedVersion() string { - return nodeMinVersion.String() -} diff --git a/instrumentor/controllers/utils/versionsupport/python_support.go b/instrumentor/controllers/utils/versionsupport/python_support.go deleted file mode 100644 index 3a5785de32..0000000000 --- a/instrumentor/controllers/utils/versionsupport/python_support.go +++ /dev/null @@ -1,15 +0,0 @@ -package versionsupport - -import "github.com/hashicorp/go-version" - -type PythonVersionCheck struct{} - -var pythonMinVersion, _ = version.NewVersion("3.8") - -func (g PythonVersionCheck) IsVersionSupported(version *version.Version) bool { - return version.GreaterThanOrEqual(pythonMinVersion) -} - -func (g PythonVersionCheck) GetSupportedVersion() string { - return pythonMinVersion.String() -} diff --git a/instrumentor/controllers/utils/versionsupport/unknown_support.go b/instrumentor/controllers/utils/versionsupport/unknown_support.go deleted file mode 100644 index b413cea920..0000000000 --- a/instrumentor/controllers/utils/versionsupport/unknown_support.go +++ /dev/null @@ -1,15 +0,0 @@ -package versionsupport - -import "github.com/hashicorp/go-version" - -type UnknownVersionCheck struct{} - -func (g UnknownVersionCheck) IsVersionSupported(version *version.Version) bool { - // if we return false here, it will fail all device injection into all containers in the pod. - // we return true here, which anyhow will not inject any device into the container. - return true -} - -func (g UnknownVersionCheck) GetSupportedVersion() string { - return "" -} diff --git a/instrumentor/go.mod b/instrumentor/go.mod index 3eb7f5af4a..fb70f1f5ac 100644 --- a/instrumentor/go.mod +++ b/instrumentor/go.mod @@ -8,10 +8,10 @@ require ( github.com/hashicorp/go-version v1.7.0 github.com/odigos-io/odigos/api v0.0.0 github.com/odigos-io/odigos/common v0.0.0 + github.com/odigos-io/odigos/distros v0.0.0 github.com/odigos-io/odigos/k8sutils v0.0.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.36.2 - github.com/stretchr/testify v1.10.0 go.opentelemetry.io/otel v1.34.0 k8s.io/api v0.32.1 k8s.io/apimachinery v0.32.1 @@ -78,6 +78,7 @@ require ( github.com/prometheus/common v0.61.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/spf13/pflag v1.0.5 // indirect + github.com/stretchr/testify v1.10.0 go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/net v0.34.0 // indirect @@ -102,5 +103,6 @@ require ( replace ( github.com/odigos-io/odigos/api => ../api github.com/odigos-io/odigos/common => ../common + github.com/odigos-io/odigos/distros => ../distros github.com/odigos-io/odigos/k8sutils => ../k8sutils ) diff --git a/instrumentor/instrumentation/instrumentation.go b/instrumentor/instrumentation/instrumentation.go deleted file mode 100644 index a2aad955cf..0000000000 --- a/instrumentor/instrumentation/instrumentation.go +++ /dev/null @@ -1,125 +0,0 @@ -package instrumentation - -import ( - "errors" - "strings" - - "github.com/go-logr/logr" - "github.com/odigos-io/odigos/api/k8sconsts" - odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" - "sigs.k8s.io/controller-runtime/pkg/client" - - "github.com/odigos-io/odigos/common" - corev1 "k8s.io/api/core/v1" -) - -var ( - ErrNoDefaultSDK = errors.New("no default sdks found") -) - -func ConfigureInstrumentationForPod(original *corev1.PodTemplateSpec, runtimeDetails []odigosv1.RuntimeDetailsByContainer, targetObj client.Object, - logger logr.Logger, agentsCanRunConcurrently bool) (bool, bool, error) { - // delete any existing instrumentation devices. - // this is necessary for example when migrating from community to enterprise, - // and we need to cleanup the community device before adding the enterprise one. - RevertInstrumentationDevices(original) - - foundContainerWithSupportedLanguage := false - instrumentationSkippedDueToOtherAgent := false - var modifiedContainers []corev1.Container - - for _, container := range original.Spec.Containers { - containerLanguage := getLanguageOfContainer(runtimeDetails, container.Name) - containerHaveOtherAgent := getContainerOtherAgents(runtimeDetails, container.Name) - - // By default, Odigos does not run alongside other agents. - // However, if configured in the odigos-config, it can be allowed to run in parallel. - if containerHaveOtherAgent != nil && !agentsCanRunConcurrently { - logger.Info("Container is running other agent, skip applying instrumentation label", "agent", containerHaveOtherAgent.Name, "container", container.Name) - - // Not actually modifying the container, but we need to append it to the list. - modifiedContainers = append(modifiedContainers, container) - instrumentationSkippedDueToOtherAgent = true - continue - } - - if containerLanguage == common.UnknownProgrammingLanguage || - containerLanguage == common.IgnoredProgrammingLanguage || - containerLanguage == common.NginxProgrammingLanguage { - - // TODO: this will make it look as if instrumentation device is applied, - // which is incorrect - modifiedContainers = append(modifiedContainers, container) - - continue - } - foundContainerWithSupportedLanguage = true - modifiedContainers = append(modifiedContainers, container) - } - - if modifiedContainers != nil { - original.Spec.Containers = modifiedContainers - } - - return instrumentationSkippedDueToOtherAgent, foundContainerWithSupportedLanguage, nil -} - -func RevertInstrumentationDevices(original *corev1.PodTemplateSpec) bool { - changed := false - for _, container := range original.Spec.Containers { - for resourceName := range container.Resources.Limits { - if strings.HasPrefix(string(resourceName), common.OdigosResourceNamespace) { - delete(container.Resources.Limits, resourceName) - changed = true - } - } - // Is it needed? - for resourceName := range container.Resources.Requests { - if strings.HasPrefix(string(resourceName), common.OdigosResourceNamespace) { - delete(container.Resources.Requests, resourceName) - changed = true - } - } - } - return changed -} - -func getLanguageOfContainer(runtimeDetails []odigosv1.RuntimeDetailsByContainer, containerName string) common.ProgrammingLanguage { - for _, rd := range runtimeDetails { - if rd.ContainerName == containerName { - return rd.Language - } - } - - return common.UnknownProgrammingLanguage -} - -func getContainerOtherAgents(runtimeDetails []odigosv1.RuntimeDetailsByContainer, containerName string) *odigosv1.OtherAgent { - for _, rd := range runtimeDetails { - if rd.ContainerName == containerName { - if rd.OtherAgent != nil && *rd.OtherAgent != (odigosv1.OtherAgent{}) { - return rd.OtherAgent - } - } - } - return nil -} - -func SetInjectInstrumentationLabel(original *corev1.PodTemplateSpec) { - - if original.Labels == nil { - original.Labels = make(map[string]string) - } - original.Labels[k8sconsts.OdigosInjectInstrumentationLabel] = "true" -} - -// RemoveInjectInstrumentationLabel removes the "odigos.io/inject-instrumentation" label if it exists. -func RemoveInjectInstrumentationLabel(original *corev1.PodTemplateSpec) bool { - if original.Labels != nil { - if _, ok := original.Labels[k8sconsts.OdigosInjectInstrumentationLabel]; ok { - delete(original.Labels, k8sconsts.OdigosInjectInstrumentationLabel) - return true - } - } - return false -} diff --git a/instrumentor/main.go b/instrumentor/main.go index c4f2b29bcc..594eec94de 100644 --- a/instrumentor/main.go +++ b/instrumentor/main.go @@ -24,6 +24,7 @@ import ( "github.com/odigos-io/odigos/common/consts" "github.com/odigos-io/odigos/k8sutils/pkg/env" + "github.com/odigos-io/odigos/instrumentor/controllers/agentenabled" "github.com/odigos-io/odigos/instrumentor/controllers/instrumentationconfig" "github.com/odigos-io/odigos/instrumentor/controllers/startlangdetection" "github.com/odigos-io/odigos/instrumentor/controllers/workloadmigrations" @@ -47,7 +48,6 @@ import ( "github.com/odigos-io/odigos/common" "github.com/odigos-io/odigos/instrumentor/controllers/deleteinstrumentationconfig" - "github.com/odigos-io/odigos/instrumentor/controllers/instrumentationdevice" "github.com/odigos-io/odigos/instrumentor/report" // Import all Kubernetes client auth plugins (e.g. Azure, GCP, OIDC, etc.) @@ -105,8 +105,8 @@ func main() { odigosNs := env.GetCurrentNamespace() nsSelector := client.InNamespace(odigosNs).AsSelector() - odigosConfigNameSelector := fields.OneTermEqualSelector("metadata.name", consts.OdigosEffectiveConfigName) - odigosConfigSelector := fields.AndSelectors(nsSelector, odigosConfigNameSelector) + odigosEffectiveConfigNameSelector := fields.OneTermEqualSelector("metadata.name", consts.OdigosEffectiveConfigName) + odigosEffectiveConfigSelector := fields.AndSelectors(nsSelector, odigosEffectiveConfigNameSelector) mgrOptions := ctrl.Options{ Scheme: scheme, @@ -144,10 +144,10 @@ func main() { Cache: cache.Options{ DefaultTransform: cache.TransformStripManagedFields(), // Store minimum amount of data for every object type. - // Currently, instrumentor only need the labels and the .spec.template.spec field of the workloads. + // Currently, instrumentor only need the labels of the workloads. ByObject: map[client.Object]cache.ByObject{ &corev1.ConfigMap{}: { - Field: odigosConfigSelector, + Field: odigosEffectiveConfigSelector, }, &odigosv1.CollectorsGroup{}: { Field: nsSelector, @@ -158,6 +158,10 @@ func main() { &odigosv1.InstrumentationRule{}: { Field: nsSelector, }, + &odigosv1.InstrumentationConfig{}: { + // all instrumentation configs are managed by this controller + // and should be pulled into the cache + }, }, }, } @@ -192,7 +196,7 @@ func main() { os.Exit(-1) } - err = instrumentationdevice.SetupWithManager(mgr) + err = agentenabled.SetupWithManager(mgr) if err != nil { setupLog.Error(err, "unable to create controller") os.Exit(1) diff --git a/instrumentor/runtimemigration/runtimemigration.go b/instrumentor/runtimemigration/runtimemigration.go index 2f492e6a7e..127eb383a0 100644 --- a/instrumentor/runtimemigration/runtimemigration.go +++ b/instrumentor/runtimemigration/runtimemigration.go @@ -103,68 +103,6 @@ func odigosOriginalAnnotationFound(annotations map[string]string) bool { return annotationFound } -func (m *MigrationRunnable) handleSingleDeployment(ctx context.Context, dep *appsv1.Deployment) error { - - freshDep := appsv1.Deployment{} - err := m.KubeClient.Get(ctx, client.ObjectKey{ - Namespace: dep.Namespace, - Name: dep.Name, - }, &freshDep) - if err != nil { - m.Logger.Error(err, "Failed to fresh copy of a deployment", "Name", dep.GetName(), "Namespace", dep.GetNamespace()) - return client.IgnoreNotFound(err) - } - - instConfigName := workload.CalculateWorkloadRuntimeObjectName(freshDep.Name, k8sconsts.WorkloadKindDeployment) - freshInstConfig := v1alpha1.InstrumentationConfig{} - err = m.KubeClient.Get(ctx, client.ObjectKey{ - Namespace: freshDep.Namespace, - Name: instConfigName, - }, &freshInstConfig) - if err != nil { - m.Logger.Error(err, "Failed to get fresh InstrumentationConfig", "Name", instConfigName, "Namespace", freshDep.Namespace) - return err - } - - originalWorkloadEnvVar, err := envoverwrite.NewOrigWorkloadEnvValues(freshDep.Annotations) - if err != nil { - m.Logger.Error(err, "Failed to get original workload environment variables") - return err - } - runtimeDetailsByContainer := freshInstConfig.Status.RuntimeDetailsByContainer - - for _, containerObject := range freshDep.Spec.Template.Spec.Containers { - err, _ = handleContainerRuntimeDetailsUpdate( - containerObject, - originalWorkloadEnvVar, - runtimeDetailsByContainer, - ) - if err != nil { - return fmt.Errorf("failed to process container %s in deployment %s: %v", containerObject.Name, freshDep.Name, err) - } - } - - if odigosOriginalAnnotationFound(freshDep.Annotations) { - deleteOriginalEnvAnnotationInPlace(&freshDep) - revertOriginalEnvAnnotationInPlace(originalWorkloadEnvVar, &freshDep.Spec.Template.Spec) - err = m.KubeClient.Update(ctx, &freshDep) - if err != nil { - m.Logger.Error(err, "Failed to revert deployment", "Name", freshDep.GetName(), "Namespace", freshDep.GetNamespace()) - } - } - - err = m.KubeClient.Status().Update( - ctx, - &freshInstConfig, - ) - if err != nil { - m.Logger.Error(err, "Failed to update InstrumentationConfig status", "Name", freshDep.Name, "Namespace", freshDep.Namespace) - return err - } - - return nil -} - func (m *MigrationRunnable) fetchAndProcessDeployments(ctx context.Context, kubeClient client.Client, namespaces map[string]map[string]*v1alpha1.InstrumentationConfig) error { for namespace, workloadNames := range namespaces { var deployments appsv1.DeploymentList @@ -187,7 +125,7 @@ func (m *MigrationRunnable) fetchAndProcessDeployments(ctx context.Context, kube Jitter: 0.1, // Add randomness Steps: 5, // Max retries }, func() (bool, error) { - err := m.handleSingleDeployment(ctx, &dep) + err := m.handleSingleWorkload(ctx, &dep) if err != nil { m.Logger.Info("Error during env migration, retrying", "Deployment", dep.Name) return false, nil // Retry @@ -212,79 +150,31 @@ func (m *MigrationRunnable) fetchAndProcessStatefulSets(ctx context.Context, kub } for _, sts := range statefulSets.Items { + // Checking if the statefulset is in the list of statefulsets that need to be processed if !contains(workloadNames, sts.Name) { continue } - freshSts := appsv1.StatefulSet{} - err := kubeClient.Get(ctx, client.ObjectKey{ - Namespace: sts.Namespace, - Name: sts.Name, - }, &freshSts) - if err != nil { - m.Logger.Error(err, "Failed to fresh copy of a statefulset", "Name", sts.GetName(), "Namespace", sts.GetNamespace()) - continue - } - - originalWorkloadEnvVar, err := envoverwrite.NewOrigWorkloadEnvValues(freshSts.Annotations) - if err != nil { - m.Logger.Error(err, "Failed to get original workload environment variables") - continue - } - - workloadInstrumentationConfigReference := workloadNames[freshSts.Name] - if workloadInstrumentationConfigReference == nil { - m.Logger.Error(err, "Failed to get InstrumentationConfig reference") - continue - } - - // Fetching the latest state of the InstrumentationConfig resource from the Kubernetes API. - // This is necessary to ensure we work with the most up-to-date version of the resource, as it may - // have been modified by other processes or controllers in the cluster. Without this step, there is - // a risk of encountering conflicts or using stale data during operations on the InstrumentationConfig object. - err = m.KubeClient.Get(ctx, client.ObjectKey{ - Namespace: workloadInstrumentationConfigReference.Namespace, - Name: workloadInstrumentationConfigReference.Name, - }, workloadInstrumentationConfigReference) - - if err != nil { - m.Logger.Error(err, "Failed to get InstrumentationConfig", "Name", workloadInstrumentationConfigReference.Name, - "Namespace", workloadInstrumentationConfigReference.Namespace) - continue - } - - runtimeDetailsByContainer := workloadInstrumentationConfigReference.Status.RuntimeDetailsByContainer - - for _, containerObject := range freshSts.Spec.Template.Spec.Containers { - err, _ = handleContainerRuntimeDetailsUpdate( - containerObject, - originalWorkloadEnvVar, - runtimeDetailsByContainer, - ) - if err != nil { - return fmt.Errorf("failed to process container %s in statefulset %s: %v", containerObject.Name, freshSts.Name, err) - } - } - - if odigosOriginalAnnotationFound(freshSts.Annotations) { - deleteOriginalEnvAnnotationInPlace(&freshSts) - revertOriginalEnvAnnotationInPlace(originalWorkloadEnvVar, &freshSts.Spec.Template.Spec) - err = kubeClient.Update(ctx, &freshSts) + // Retry logic for handling conflicts + err := wait.ExponentialBackoff(wait.Backoff{ + Duration: 100 * time.Millisecond, // Initial wait time + Factor: 2.0, // Exponential factor + Jitter: 0.1, // Add randomness + Steps: 5, // Max retries + }, func() (bool, error) { + err := m.handleSingleWorkload(ctx, &sts) if err != nil { - m.Logger.Error(err, "Failed to revert statefulset", "Name", freshSts.GetName(), "Namespace", freshSts.GetNamespace()) + m.Logger.Info("Error during env migration, retrying", "Deployment", sts.Name) + return false, nil // Retry } - } + return true, nil // Success, stop retrying + }) - // Update the InstrumentationConfig status - err = kubeClient.Status().Update( - ctx, - workloadInstrumentationConfigReference, - ) if err != nil { - m.Logger.Error(err, "Failed to update InstrumentationConfig status", "Name", freshSts.Name, "Namespace", freshSts.Namespace) - continue + m.Logger.Error(err, "Failed to handle deployment with retries", "Name", sts.GetName(), "Namespace", sts.GetNamespace()) } + } } return nil @@ -304,70 +194,23 @@ func (m *MigrationRunnable) fetchAndProcessDaemonSets(ctx context.Context, kubeC continue } - freshDs := appsv1.DaemonSet{} - err := kubeClient.Get(ctx, client.ObjectKey{ - Namespace: ds.Namespace, - Name: ds.Name, - }, &freshDs) - if err != nil { - m.Logger.Error(err, "Failed to fresh copy of a daemonset", "Name", ds.GetName(), "Namespace", ds.GetNamespace()) - continue - } - - originalWorkloadEnvVar, err := envoverwrite.NewOrigWorkloadEnvValues(freshDs.Annotations) - if err != nil { - m.Logger.Error(err, "Failed to get original workload environment variables") - continue - } - workloadInstrumentationConfigReference := workloadNames[freshDs.Name] - if workloadInstrumentationConfigReference == nil { - m.Logger.Error(err, "Failed to get InstrumentationConfig reference") - continue - } - - // Fetching the latest state of the InstrumentationConfig resource from the Kubernetes API. - // This is necessary to ensure we work with the most up-to-date version of the resource, as it may - // have been modified by other processes or controllers in the cluster. Without this step, there is - // a risk of encountering conflicts or using stale data during operations on the InstrumentationConfig object. - err = m.KubeClient.Get(ctx, client.ObjectKey{ - Namespace: workloadInstrumentationConfigReference.Namespace, - Name: workloadInstrumentationConfigReference.Name, - }, workloadInstrumentationConfigReference) - - if err != nil { - m.Logger.Error(err, "Failed to get InstrumentationConfig", "Name", workloadInstrumentationConfigReference.Name, - "Namespace", workloadInstrumentationConfigReference.Namespace) - continue - } - runtimeDetailsByContainer := workloadInstrumentationConfigReference.Status.RuntimeDetailsByContainer - - for _, containerObject := range freshDs.Spec.Template.Spec.Containers { - err, _ = handleContainerRuntimeDetailsUpdate( - containerObject, - originalWorkloadEnvVar, - runtimeDetailsByContainer) - if err != nil { - return fmt.Errorf("failed to process container %s in daemonset %s: %v", containerObject.Name, freshDs.Name, err) - } - } - - if odigosOriginalAnnotationFound(freshDs.Annotations) { - deleteOriginalEnvAnnotationInPlace(&freshDs) - revertOriginalEnvAnnotationInPlace(originalWorkloadEnvVar, &freshDs.Spec.Template.Spec) - err = kubeClient.Update(ctx, &freshDs) + // Retry logic for handling conflicts + err := wait.ExponentialBackoff(wait.Backoff{ + Duration: 100 * time.Millisecond, // Initial wait time + Factor: 2.0, // Exponential factor + Jitter: 0.1, // Add randomness + Steps: 5, // Max retries + }, func() (bool, error) { + err := m.handleSingleWorkload(ctx, &ds) if err != nil { - m.Logger.Error(err, "Failed to revert daemonset", "Name", freshDs.GetName(), "Namespace", freshDs.GetNamespace()) + m.Logger.Info("Error during env migration, retrying", "Deployment", ds.Name) + return false, nil // Retry } - } + return true, nil // Success, stop retrying + }) - // Update the InstrumentationConfig status - err = kubeClient.Status().Update( - ctx, - workloadInstrumentationConfigReference, - ) if err != nil { - m.Logger.Error(err, "Failed to update InstrumentationConfig status", "Name", freshDs.Name, "Namespace", freshDs.Namespace) - continue + m.Logger.Error(err, "Failed to handle deployment with retries", "Name", ds.GetName(), "Namespace", ds.GetNamespace()) } } } @@ -561,3 +404,115 @@ func revertOriginalEnvAnnotationInPlace(originalWorkloadEnvVar *envoverwrite.Ori containerManifest.Env = newContainerEnvs } } + +func (m *MigrationRunnable) handleSingleWorkload(ctx context.Context, workloadObject client.Object) error { + // Fetch fresh copy of the workload + freshWorkload := workloadObject.DeepCopyObject().(client.Object) + err := m.KubeClient.Get(ctx, client.ObjectKey{ + Namespace: workloadObject.GetNamespace(), + Name: workloadObject.GetName(), + }, freshWorkload) + if err != nil { + m.Logger.Error(err, "Failed to fetch fresh copy of workload", "Name", workloadObject.GetName(), "Namespace", workloadObject.GetNamespace()) + return client.IgnoreNotFound(err) + } + + // Fetch InstrumentationConfig + workloadKindType := getWorkloadKindByWorkloadType(freshWorkload) + if workloadKindType == nil { + return fmt.Errorf("failed to get workload type for workload %s", workloadObject.GetName()) + } + + instConfigName := workload.CalculateWorkloadRuntimeObjectName(workloadObject.GetName(), *workloadKindType) + + // Fetching the latest state of the InstrumentationConfig resource from the Kubernetes API. + // This is necessary to ensure we work with the most up-to-date version of the resource, as it may + // have been modified by other processes or controllers in the cluster. Without this step, there is + // a risk of encountering conflicts or using stale data during operations on the InstrumentationConfig object. + freshInstConfig := v1alpha1.InstrumentationConfig{} + err = m.KubeClient.Get(ctx, client.ObjectKey{ + Namespace: workloadObject.GetNamespace(), + Name: instConfigName, + }, &freshInstConfig) + if err != nil { + m.Logger.Error(err, "Failed to get InstrumentationConfig", "Name", instConfigName, "Namespace", workloadObject.GetNamespace()) + return err + } + + // Extract original environment variables + originalWorkloadEnvVar, err := envoverwrite.NewOrigWorkloadEnvValues(freshWorkload.GetAnnotations()) + if err != nil { + m.Logger.Error(err, "Failed to get original workload environment variables") + return err + } + + // Process container runtime details + runtimeDetailsByContainer := freshInstConfig.Status.RuntimeDetailsByContainer + podTemplateSpec := getPodTemplateSpecByWorkloadType(freshWorkload) + + for _, containerObject := range podTemplateSpec.Spec.Containers { + err, _ = handleContainerRuntimeDetailsUpdate( + containerObject, + originalWorkloadEnvVar, + runtimeDetailsByContainer, + ) + if err != nil { + return fmt.Errorf("failed to process container %s in workload %s: %v", containerObject.Name, workloadObject.GetName(), err) + } + } + + // Handle annotation, label, and device revert operations + envReverted := false + if odigosOriginalAnnotationFound(freshWorkload.GetAnnotations()) { + deleteOriginalEnvAnnotationInPlace(freshWorkload) + revertOriginalEnvAnnotationInPlace(originalWorkloadEnvVar, &podTemplateSpec.Spec) + envReverted = true + } + labelRemoved := removeInjectInstrumentationLabel(podTemplateSpec) + devicesRemoved := revertInstrumentationDevices(podTemplateSpec) + + // Update workload if changes were made + if envReverted || labelRemoved || devicesRemoved { + err = m.KubeClient.Update(ctx, freshWorkload) + if err != nil { + m.Logger.Error(err, "Failed to revert workload", "Name", freshWorkload.GetName(), "Namespace", freshWorkload.GetNamespace()) + } + } + + // Update InstrumentationConfig status + err = m.KubeClient.Status().Update(ctx, &freshInstConfig) + if err != nil { + m.Logger.Error(err, "Failed to update InstrumentationConfig status", "Name", freshWorkload.GetName(), "Namespace", freshWorkload.GetNamespace()) + return err + } + + return nil +} + +func getPodTemplateSpecByWorkloadType(workload client.Object) *corev1.PodTemplateSpec { + switch w := workload.(type) { + case *appsv1.Deployment: + return &w.Spec.Template + case *appsv1.StatefulSet: + return &w.Spec.Template + case *appsv1.DaemonSet: + return &w.Spec.Template + default: + return nil + } +} + +func getWorkloadKindByWorkloadType(workload client.Object) *k8sconsts.WorkloadKind { + switch workload.(type) { + case *appsv1.Deployment: + value := k8sconsts.WorkloadKindDeployment + return &value + case *appsv1.StatefulSet: + value := k8sconsts.WorkloadKindStatefulSet + return &value + case *appsv1.DaemonSet: + value := k8sconsts.WorkloadKindDaemonSet + return &value + } + return nil +} diff --git a/instrumentor/runtimemigration/utils.go b/instrumentor/runtimemigration/utils.go new file mode 100644 index 0000000000..e04c8dcc83 --- /dev/null +++ b/instrumentor/runtimemigration/utils.go @@ -0,0 +1,44 @@ +package runtimemigration + +import ( + "strings" + + "github.com/odigos-io/odigos/common" + corev1 "k8s.io/api/core/v1" +) + +func revertInstrumentationDevices(original *corev1.PodTemplateSpec) bool { + changed := false + for _, container := range original.Spec.Containers { + for resourceName := range container.Resources.Limits { + if strings.HasPrefix(string(resourceName), common.OdigosResourceNamespace) { + delete(container.Resources.Limits, resourceName) + changed = true + } + } + // Is it needed? + for resourceName := range container.Resources.Requests { + if strings.HasPrefix(string(resourceName), common.OdigosResourceNamespace) { + delete(container.Resources.Requests, resourceName) + changed = true + } + } + } + return changed +} + +// RemoveInjectInstrumentationLabel removes the "odigos.io/inject-instrumentation" label if it exists. +func removeInjectInstrumentationLabel(original *corev1.PodTemplateSpec) bool { + + // odigosInjectInstrumentationLabel is the label used to enable the mutating webhook. + // it is removed in favor of running pods webhook for all pods, and never mutating deployment objects. + odigosInjectInstrumentationLabel := "odigos.io/inject-instrumentation" + + if original.Labels != nil { + if _, ok := original.Labels[odigosInjectInstrumentationLabel]; ok { + delete(original.Labels, odigosInjectInstrumentationLabel) + return true + } + } + return false +} diff --git a/k8sutils/pkg/conditions/deployment.go b/k8sutils/pkg/conditions/deployment.go new file mode 100644 index 0000000000..ef43674e78 --- /dev/null +++ b/k8sutils/pkg/conditions/deployment.go @@ -0,0 +1,22 @@ +package conditions + +import ( + appsv1 "k8s.io/api/apps/v1" +) + +const ( + // TimedOutReason is added in a deployment when its newest replica set fails to show any progress + // within the given deadline (progressDeadlineSeconds). + TimedOutReason = "ProgressDeadlineExceeded" +) + +// GetDeploymentCondition returns the condition with the provided type. +func GetDeploymentCondition(status appsv1.DeploymentStatus, condType appsv1.DeploymentConditionType) *appsv1.DeploymentCondition { + for i := range status.Conditions { + c := status.Conditions[i] + if c.Type == condType { + return &c + } + } + return nil +} diff --git a/k8sutils/pkg/describe/common.go b/k8sutils/pkg/describe/common.go index cc0a84a94b..d9a77e887f 100644 --- a/k8sutils/pkg/describe/common.go +++ b/k8sutils/pkg/describe/common.go @@ -19,8 +19,15 @@ func wrapTextInYellow(text string) string { return "\033[33m" + text + "\033[0m" } -func describeText(sb *strings.Builder, indent int, printftext string, args ...interface{}) { +func describeText(sb *strings.Builder, indent int, isListKey bool, printftext string, args ...interface{}) { indentText := strings.Repeat(" ", indent) + if isListKey { + listKeyIndent := indent - 1 + if listKeyIndent < 0 { + listKeyIndent = 0 + } + indentText = strings.Repeat(" ", listKeyIndent) + "- " + } lineText := fmt.Sprintf(printftext, args...) fmt.Fprintf(sb, "%s%s\n", indentText, lineText) } @@ -39,5 +46,5 @@ func printProperty(sb *strings.Builder, indent int, property *properties.EntityP text = wrapTextInYellow(text) } - describeText(sb, indent, "%s", text) + describeText(sb, indent, property.ListKey, "%s", text) } diff --git a/k8sutils/pkg/describe/odigos.go b/k8sutils/pkg/describe/odigos.go index bcb75b1e20..f3a1e4a991 100644 --- a/k8sutils/pkg/describe/odigos.go +++ b/k8sutils/pkg/describe/odigos.go @@ -11,7 +11,7 @@ import ( ) func printClusterCollectorStatus(analyze *odigos.OdigosAnalyze, sb *strings.Builder) { - describeText(sb, 1, "Cluster Collector:") + describeText(sb, 1, false, "Cluster Collector:") printProperty(sb, 2, &analyze.ClusterCollector.Enabled) printProperty(sb, 2, &analyze.ClusterCollector.CollectorGroup) printProperty(sb, 2, analyze.ClusterCollector.Deployed) @@ -25,7 +25,7 @@ func printClusterCollectorStatus(analyze *odigos.OdigosAnalyze, sb *strings.Buil } func printNodeCollectorStatus(analyze *odigos.OdigosAnalyze, sb *strings.Builder) { - describeText(sb, 1, "Node Collector:") + describeText(sb, 1, false, "Node Collector:") printProperty(sb, 2, &analyze.NodeCollector.Enabled) printProperty(sb, 2, &analyze.NodeCollector.CollectorGroup) printProperty(sb, 2, analyze.NodeCollector.Deployed) @@ -39,8 +39,8 @@ func printNodeCollectorStatus(analyze *odigos.OdigosAnalyze, sb *strings.Builder } func printOdigosPipeline(analyze *odigos.OdigosAnalyze, sb *strings.Builder) { - describeText(sb, 0, "Odigos Pipeline:") - describeText(sb, 1, "Status: there are %d sources and %d destinations\n", analyze.NumberOfSources, analyze.NumberOfDestinations) + describeText(sb, 0, false, "Odigos Pipeline:") + describeText(sb, 1, false, "Status: there are %d sources and %d destinations\n", analyze.NumberOfSources, analyze.NumberOfDestinations) printClusterCollectorStatus(analyze, sb) sb.WriteString("\n") printNodeCollectorStatus(analyze, sb) @@ -48,7 +48,7 @@ func printOdigosPipeline(analyze *odigos.OdigosAnalyze, sb *strings.Builder) { func printOdigosPro(analyze *odigos.OdigosAnalyze, sb *strings.Builder) { if analyze.OdigosPro != nil { - describeText(sb, 0, "Odigos Pro:") + describeText(sb, 0, false, "Odigos Pro:") printProperty(sb, 1, &analyze.OdigosPro.OnpremTokenAud) printProperty(sb, 1, &analyze.OdigosPro.OnpremTokenExpiration) printProperty(sb, 1, &analyze.OdigosPro.OdigosProfiles) diff --git a/k8sutils/pkg/describe/properties/properties.go b/k8sutils/pkg/describe/properties/properties.go index 668af23add..3f48d0802d 100644 --- a/k8sutils/pkg/describe/properties/properties.go +++ b/k8sutils/pkg/describe/properties/properties.go @@ -30,4 +30,8 @@ type EntityProperty struct { // The status of the property actual state Status PropertyStatus `json:"status,omitempty"` + + // true if this property is the key in a list of items (like pod name in a list of pods) + // used for display purposes + ListKey bool `json:"listKey,omitempty"` } diff --git a/k8sutils/pkg/describe/source.go b/k8sutils/pkg/describe/source.go index e37aa40104..6268308c53 100644 --- a/k8sutils/pkg/describe/source.go +++ b/k8sutils/pkg/describe/source.go @@ -18,7 +18,7 @@ func printWorkloadManifestInfo(analyze *source.SourceAnalyze, sb *strings.Builde printProperty(sb, 0, &analyze.Kind) printProperty(sb, 0, &analyze.Namespace) - sb.WriteString("Labels:\n") + sb.WriteString("Source Custom Resources:\n") printProperty(sb, 1, &analyze.SourceObjectsAnalysis.Instrumented) printProperty(sb, 1, analyze.SourceObjectsAnalysis.Workload) printProperty(sb, 1, analyze.SourceObjectsAnalysis.Namespace) @@ -26,95 +26,67 @@ func printWorkloadManifestInfo(analyze *source.SourceAnalyze, sb *strings.Builde } func printRuntimeDetails(analyze *source.SourceAnalyze, sb *strings.Builder) { - describeText(sb, 0, "\nRuntime Inspection Details:") + describeText(sb, 0, false, "\nRuntime Inspection Details:") if analyze.RuntimeInfo == nil { - describeText(sb, 1, "No runtime details") + describeText(sb, 1, false, "No runtime details") return } - describeText(sb, 1, "Detected Containers:") + describeText(sb, 1, false, "Detected Containers:") for i := range analyze.RuntimeInfo.Containers { container := analyze.RuntimeInfo.Containers[i] printProperty(sb, 2, &container.ContainerName) - printProperty(sb, 3, &container.Language) - printProperty(sb, 3, &container.RuntimeVersion) + printProperty(sb, 2, &container.Language) + printProperty(sb, 2, &container.RuntimeVersion) if len(container.EnvVars) > 0 { - describeText(sb, 3, "Relevant Environment Variables:") + describeText(sb, 2, false, "Relevant Environment Variables:") for _, envVar := range container.EnvVars { - describeText(sb, 4, "%s", fmt.Sprintf("%s: %s", envVar.Name, envVar.Value)) + describeText(sb, 3, true, "%s", fmt.Sprintf("%s: %s", envVar.Name, envVar.Value)) } } } } func printInstrumentationConfigInfo(analyze *source.SourceAnalyze, sb *strings.Builder) { - describeText(sb, 0, "\nInstrumentation Config:") - printProperty(sb, 1, &analyze.InstrumentationConfig.Created) - printProperty(sb, 1, analyze.InstrumentationConfig.CreateTime) - - describeText(sb, 1, "Detected Containers:") - for i := range analyze.InstrumentationConfig.Containers { - container := analyze.InstrumentationConfig.Containers[i] - printProperty(sb, 2, &container.ContainerName) - printProperty(sb, 3, &container.Language) - printProperty(sb, 3, &container.RuntimeVersion) - printProperty(sb, 3, &container.CriError) - if len(container.EnvVars) > 0 { - describeText(sb, 3, "Relevant Environment Variables:") - for _, envVar := range container.EnvVars { - describeText(sb, 4, "%s", fmt.Sprintf("%s: %s", envVar.Name, envVar.Value)) - } - } - if len(container.ContainerRuntimeEnvs) > 0 { - describeText(sb, 3, "Relevant Container Runtime Environment Variables:") - for _, containerRuntimeEnvVar := range container.ContainerRuntimeEnvs { - describeText(sb, 4, "%s", fmt.Sprintf("%s: %s", containerRuntimeEnvVar.Name, containerRuntimeEnvVar.Value)) - } - } - } -} - -func printAppliedInstrumentationDeviceInfo(analyze *source.SourceAnalyze, sb *strings.Builder) { - describeText(sb, 0, "\nInstrumentation Device:") - printProperty(sb, 1, &analyze.InstrumentationDevice.StatusText) - describeText(sb, 1, "Containers:") - for i := range analyze.InstrumentationDevice.Containers { - container := analyze.InstrumentationDevice.Containers[i] - printProperty(sb, 2, &container.ContainerName) - printProperty(sb, 3, &container.Devices) - if len(container.OriginalEnv) > 0 { - describeText(sb, 3, "Original Environment Variables:") - for _, envVar := range container.OriginalEnv { - printProperty(sb, 4, &envVar) - } - } + describeText(sb, 0, false, "\nInstrumentation Config:") + printProperty(sb, 1, &analyze.OtelAgents.Created) + printProperty(sb, 1, analyze.OtelAgents.CreateTime) + + describeText(sb, 1, false, "Containers:") + for i := range analyze.OtelAgents.Containers { + containerConfig := analyze.OtelAgents.Containers[i] + printProperty(sb, 2, &containerConfig.ContainerName) + printProperty(sb, 2, &containerConfig.AgentEnabled) + printProperty(sb, 2, containerConfig.Reason) + printProperty(sb, 2, containerConfig.Message) + printProperty(sb, 2, containerConfig.OtelDistroName) } } func printPodsInfo(analyze *source.SourceAnalyze, sb *strings.Builder) { - describeText(sb, 0, "\nPods (Total %d, %s):", analyze.TotalPods, analyze.PodsPhasesCount) + describeText(sb, 0, false, "\nPods (Total %d, %s):", analyze.TotalPods, analyze.PodsPhasesCount) for i := range analyze.Pods { pod := analyze.Pods[i] - describeText(sb, 0, "") + describeText(sb, 0, false, "") printProperty(sb, 1, &pod.PodName) printProperty(sb, 1, &pod.NodeName) printProperty(sb, 1, &pod.Phase) - describeText(sb, 1, "Containers:") + describeText(sb, 1, false, "Containers:") for i := range pod.Containers { container := pod.Containers[i] printProperty(sb, 2, &container.ContainerName) - printProperty(sb, 3, &container.ActualDevices) - describeText(sb, 3, "") - describeText(sb, 3, "Instrumentation Instances:") + printProperty(sb, 2, &container.ActualDevices) + describeText(sb, 2, false, "") + describeText(sb, 2, false, "Instrumentation Instances:") for _, ii := range container.InstrumentationInstances { - printProperty(sb, 4, &ii.Healthy) - printProperty(sb, 4, ii.Message) + printProperty(sb, 3, &ii.Healthy) + printProperty(sb, 3, ii.Message) if len(ii.IdentifyingAttributes) > 0 { - describeText(sb, 4, "Identifying Attributes:") + describeText(sb, 3, false, "Identifying Attributes:") for _, attr := range ii.IdentifyingAttributes { - printProperty(sb, 5, &attr) + printProperty(sb, 4, &attr) } } } @@ -128,7 +100,6 @@ func DescribeSourceToText(analyze *source.SourceAnalyze) string { printWorkloadManifestInfo(analyze, &sb) printRuntimeDetails(analyze, &sb) printInstrumentationConfigInfo(analyze, &sb) - printAppliedInstrumentationDeviceInfo(analyze, &sb) printPodsInfo(analyze, &sb) return sb.String() diff --git a/k8sutils/pkg/describe/source/analyze.go b/k8sutils/pkg/describe/source/analyze.go index fda042535e..ed3603d554 100644 --- a/k8sutils/pkg/describe/source/analyze.go +++ b/k8sutils/pkg/describe/source/analyze.go @@ -2,16 +2,13 @@ package source import ( "fmt" - "reflect" "strings" corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" "github.com/odigos-io/odigos/common" "github.com/odigos-io/odigos/k8sutils/pkg/describe/properties" - "github.com/odigos-io/odigos/k8sutils/pkg/envoverwrite" ) type InstrumentationSourcesAnalyze struct { @@ -30,26 +27,22 @@ type ContainerRuntimeInfoAnalyze struct { ContainerRuntimeEnvs []properties.EntityProperty `json:"containerRuntimeEnvs"` } +type ContainerAgentConfigAnalyze struct { + ContainerName properties.EntityProperty `json:"containerName"` + AgentEnabled properties.EntityProperty `json:"agentEnabled"` + Reason *properties.EntityProperty `json:"reason"` + Message *properties.EntityProperty `json:"message"` + OtelDistroName *properties.EntityProperty `json:"otelDistroName"` +} + type RuntimeInfoAnalyze struct { - Generation properties.EntityProperty `json:"generation"` Containers []ContainerRuntimeInfoAnalyze `json:"containers"` } -type InstrumentationConfigAnalyze struct { +type OtelAgentsAnalyze struct { Created properties.EntityProperty `json:"created"` CreateTime *properties.EntityProperty `json:"createTime"` - Containers []ContainerRuntimeInfoAnalyze `json:"containers"` -} - -type ContainerWorkloadManifestAnalyze struct { - ContainerName properties.EntityProperty `json:"containerName"` - Devices properties.EntityProperty `json:"devices"` - OriginalEnv []properties.EntityProperty `json:"originalEnv"` -} - -type InstrumentationDeviceAnalyze struct { - StatusText properties.EntityProperty `json:"statusText"` - Containers []ContainerWorkloadManifestAnalyze `json:"containers"` + Containers []ContainerAgentConfigAnalyze `json:"containers"` } type InstrumentationInstanceAnalyze struct { @@ -77,9 +70,8 @@ type SourceAnalyze struct { Namespace properties.EntityProperty `json:"namespace"` SourceObjectsAnalysis InstrumentationSourcesAnalyze `json:"sourceObjects"` - RuntimeInfo *RuntimeInfoAnalyze `json:"runtimeInfo"` - InstrumentationConfig InstrumentationConfigAnalyze `json:"instrumentationConfig"` - InstrumentationDevice InstrumentationDeviceAnalyze `json:"instrumentationDevice"` + RuntimeInfo *RuntimeInfoAnalyze `json:"runtimeInfo"` + OtelAgents OtelAgentsAnalyze `json:"otelAgents"` TotalPods int `json:"totalPods"` PodsPhasesCount string `json:"podsPhasesCount"` @@ -146,7 +138,7 @@ func analyzeInstrumentationBySources(sources *odigosv1.WorkloadSources) (Instrum }, instrumented } -func analyzeInstrumentationConfig(resources *OdigosSourceResources, instrumented bool) InstrumentationConfigAnalyze { +func analyzeEnabledAgents(resources *OdigosSourceResources, instrumented bool) OtelAgentsAnalyze { instrumentationConfigCreated := resources.InstrumentationConfig != nil created := properties.EntityProperty{ @@ -166,18 +158,75 @@ func analyzeInstrumentationConfig(resources *OdigosSourceResources, instrumented } } - containers := make([]ContainerRuntimeInfoAnalyze, 0) + containers := make([]ContainerAgentConfigAnalyze, 0) if instrumentationConfigCreated { - containers = analyzeRuntimeDetails(resources.InstrumentationConfig.Status.RuntimeDetailsByContainer) + containers = analyzeContainersConfig(&resources.InstrumentationConfig.Spec.Containers) } - return InstrumentationConfigAnalyze{ + return OtelAgentsAnalyze{ Created: created, CreateTime: createdTime, Containers: containers, } } +func analyzeContainersConfig(containers *[]odigosv1.ContainerAgentConfig) []ContainerAgentConfigAnalyze { + containersAnalysis := make([]ContainerAgentConfigAnalyze, 0, len(*containers)) + for i := range *containers { + container := (*containers)[i] + + containerName := properties.EntityProperty{ + Name: "Container Name", + Value: container.ContainerName, + Explain: "the unique name of the container in the k8s pod", + ListKey: true, + } + + agentEnabled := properties.EntityProperty{ + Name: "Agent Enabled", + Value: container.AgentEnabled, + Explain: "whether the agent is enabled for this container", + } + + var agentEnabledReason *properties.EntityProperty + if container.AgentEnabledReason != "" { + agentEnabledReason = &properties.EntityProperty{ + Name: "Agent Enabled Reason", + Value: string(container.AgentEnabledReason), + Explain: "the reason why the agent is enabled/disabled for this container", + } + } + + var agentEnabledMessage *properties.EntityProperty + if container.AgentEnabledMessage != "" { + agentEnabledMessage = &properties.EntityProperty{ + Name: "Agent Enabled Message", + Value: container.AgentEnabledMessage, + Explain: "a human readable message from the odigos agent indicating the status of the agent enabled", + } + } + + var otelDistroName *properties.EntityProperty + if container.OtelDistroName != "" { + otelDistroName = &properties.EntityProperty{ + Name: "Otel Distro Name", + Value: container.OtelDistroName, + Explain: "the name of the OpenTelemetry distribution that is being used to instrument this container", + } + } + + containersAnalysis = append(containersAnalysis, ContainerAgentConfigAnalyze{ + ContainerName: containerName, + AgentEnabled: agentEnabled, + Reason: agentEnabledReason, + Message: agentEnabledMessage, + OtelDistroName: otelDistroName, + }) + } + + return containersAnalysis +} + func analyzeRuntimeDetails(runtimeDetailsByContainer []odigosv1.RuntimeDetailsByContainer) []ContainerRuntimeInfoAnalyze { containers := make([]ContainerRuntimeInfoAnalyze, 0, len(runtimeDetailsByContainer)) @@ -187,6 +236,7 @@ func analyzeRuntimeDetails(runtimeDetailsByContainer []odigosv1.RuntimeDetailsBy Name: "Container Name", Value: container.ContainerName, Explain: "the unique name of the container in the k8s pod", + ListKey: true, } language := properties.EntityProperty{ @@ -254,100 +304,6 @@ func analyzeRuntimeInfo(resources *OdigosSourceResources) *RuntimeInfoAnalyze { } } -func analyzeInstrumentationDevice(resources *OdigosSourceResources, workloadObj *K8sSourceObject, instrumented bool) InstrumentationDeviceAnalyze { - instrumentationConfig := resources.InstrumentationConfig - - appliedInstrumentationDeviceStatusMessage := "Unknown" - var appliedDeviceStatus properties.PropertyStatus - if !instrumented { - // if the workload is not instrumented, the instrumentation device expected - appliedInstrumentationDeviceStatusMessage = "No instrumentation devices expected" - appliedDeviceStatus = properties.PropertyStatusSuccess - } - if instrumentationConfig != nil && instrumentationConfig.Status.Conditions != nil { - for _, condition := range instrumentationConfig.Status.Conditions { - if condition.Type == "AppliedInstrumentationDevice" { // TODO: share this constant with instrumentor - if condition.ObservedGeneration == instrumentationConfig.GetGeneration() { - appliedInstrumentationDeviceStatusMessage = condition.Message - if condition.Status == metav1.ConditionTrue { - appliedDeviceStatus = properties.PropertyStatusSuccess - } else { - appliedDeviceStatus = properties.PropertyStatusError - } - } else { - appliedInstrumentationDeviceStatusMessage = "Waiting for reconciliation" - appliedDeviceStatus = properties.PropertyStatusTransitioning - } - break - } - } - } - - statusText := properties.EntityProperty{ - Name: "Status", - Value: appliedInstrumentationDeviceStatusMessage, - Status: appliedDeviceStatus, - Explain: "the result of applying the instrumentation device to the workload manifest", - } - - // get original env vars: - origWorkloadEnvValues, _ := envoverwrite.NewOrigWorkloadEnvValues(workloadObj.GetAnnotations()) - - templateContainers := workloadObj.PodTemplateSpec.Spec.Containers - containers := make([]ContainerWorkloadManifestAnalyze, 0, len(templateContainers)) - for i := range templateContainers { - container := templateContainers[i] - containerName := properties.EntityProperty{ - Name: "Container Name", - Value: container.Name, - Explain: "the unique name of the container in the k8s pod", - } - - odigosDevices := make([]string, 0) - for resourceName := range container.Resources.Limits { - deviceName, found := strings.CutPrefix(resourceName.String(), common.OdigosResourceNamespace+"/") - if found { - odigosDevices = append(odigosDevices, deviceName) - } - } - - devices := properties.EntityProperty{ - Name: "Devices", - Value: odigosDevices, - Explain: "the odigos instrumentation devices that were added to the workload manifest", - } - - originalContainerEnvs := origWorkloadEnvValues.GetContainerStoredEnvs(container.Name) - originalEnv := make([]properties.EntityProperty, 0, len(originalContainerEnvs)) - for envName, envValue := range originalContainerEnvs { - if envValue == nil { - originalEnv = append(originalEnv, properties.EntityProperty{ - Name: envName, - Value: "unset", - Explain: "the original value of the environment variable in the workload manifest, before it was patched by odigos", - }) - } else { - originalEnv = append(originalEnv, properties.EntityProperty{ - Name: envName, - Value: *envValue, - Explain: "the original value of the environment variable in the workload manifest, before it was patched by odigos", - }) - } - } - - containers = append(containers, ContainerWorkloadManifestAnalyze{ - ContainerName: containerName, - Devices: devices, - OriginalEnv: originalEnv, - }) - } - - return InstrumentationDeviceAnalyze{ - StatusText: statusText, - Containers: containers, - } -} - func analyzeInstrumentationInstance(instrumentationInstance *odigosv1.InstrumentationInstance) InstrumentationInstanceAnalyze { var healthy properties.EntityProperty if instrumentationInstance.Status.Healthy == nil { @@ -356,6 +312,7 @@ func analyzeInstrumentationInstance(instrumentationInstance *odigosv1.Instrument Value: "Not Reported", Status: properties.PropertyStatusTransitioning, Explain: "health indication for the instrumentation running for this process", + ListKey: true, } } else { healthy = properties.EntityProperty{ @@ -363,6 +320,7 @@ func analyzeInstrumentationInstance(instrumentationInstance *odigosv1.Instrument Value: *instrumentationInstance.Status.Healthy, Status: properties.GetSuccessOrError(*instrumentationInstance.Status.Healthy), Explain: "health indication for the instrumentation running for this process", + ListKey: true, } } @@ -403,7 +361,7 @@ func podPhaseToStatus(phase corev1.PodPhase) properties.PropertyStatus { } } -func analyzePods(resources *OdigosSourceResources, expectedDevices InstrumentationDeviceAnalyze) ([]PodAnalyze, string) { +func analyzePods(resources *OdigosSourceResources) ([]PodAnalyze, string) { pods := make([]PodAnalyze, 0, len(resources.Pods.Items)) podsStatuses := make(map[corev1.PodPhase]int) for i := range resources.Pods.Items { @@ -414,6 +372,7 @@ func analyzePods(resources *OdigosSourceResources, expectedDevices Instrumentati Name: "Pod Name", Value: pod.GetName(), Explain: "the name of the k8s pod object that is part of the source workload", + ListKey: true, } nodeName := properties.EntityProperty{ Name: "Node Name", @@ -446,6 +405,7 @@ func analyzePods(resources *OdigosSourceResources, expectedDevices Instrumentati Name: "Container Name", Value: container.Name, Explain: "the unique name of a container being described in the pod", + ListKey: true, } deviceNames := make([]string, 0) @@ -456,19 +416,9 @@ func analyzePods(resources *OdigosSourceResources, expectedDevices Instrumentati } } - var expectedContainer *ContainerWorkloadManifestAnalyze - for i := range expectedDevices.Containers { - c := expectedDevices.Containers[i] - if c.ContainerName.Value == container.Name { - expectedContainer = &c - break - } - } - devicesStatus := properties.GetSuccessOrError(expectedContainer != nil && reflect.DeepEqual(deviceNames, expectedContainer.Devices.Value)) actualDevices := properties.EntityProperty{ Name: "Actual Devices", Value: deviceNames, - Status: devicesStatus, Explain: "the odigos instrumentation devices that were found on this pod container instance", } @@ -516,9 +466,8 @@ func analyzePods(resources *OdigosSourceResources, expectedDevices Instrumentati func AnalyzeSource(resources *OdigosSourceResources, workloadObj *K8sSourceObject) *SourceAnalyze { sourcesAnalysis, instrumented := analyzeInstrumentationBySources(resources.Sources) runtimeAnalysis := analyzeRuntimeInfo(resources) - icAnalysis := analyzeInstrumentationConfig(resources, instrumented) - device := analyzeInstrumentationDevice(resources, workloadObj, instrumented) - pods, podsText := analyzePods(resources, device) + icAnalysis := analyzeEnabledAgents(resources, instrumented) + pods, podsText := analyzePods(resources) return &SourceAnalyze{ Name: properties.EntityProperty{Name: "Name", Value: workloadObj.GetName(), @@ -529,9 +478,8 @@ func AnalyzeSource(resources *OdigosSourceResources, workloadObj *K8sSourceObjec Explain: "the namespace of the k8s workload object that this source describes"}, SourceObjectsAnalysis: sourcesAnalysis, - RuntimeInfo: runtimeAnalysis, - InstrumentationConfig: icAnalysis, - InstrumentationDevice: device, + RuntimeInfo: runtimeAnalysis, + OtelAgents: icAnalysis, TotalPods: len(pods), PodsPhasesCount: podsText, diff --git a/odiglet/pkg/kube/manager.go b/odiglet/pkg/kube/manager.go index 79be059eaa..53c7fa30d3 100644 --- a/odiglet/pkg/kube/manager.go +++ b/odiglet/pkg/kube/manager.go @@ -1,7 +1,6 @@ package kube import ( - "github.com/odigos-io/odigos/common/consts" "github.com/odigos-io/odigos/instrumentation" "github.com/odigos-io/odigos/odiglet/pkg/ebpf" @@ -49,8 +48,6 @@ func CreateManager() (ctrl.Manager, error) { odigosNs := env.Current.Namespace nsSelector := client.InNamespace(odigosNs).AsSelector() - odigosConfigNameSelector := fields.OneTermEqualSelector("metadata.name", consts.OdigosEffectiveConfigName) - odigosConfigSelector := fields.AndSelectors(nsSelector, odigosConfigNameSelector) currentNodeSelector := fields.OneTermEqualSelector("spec.nodeName", env.Current.NodeName) return manager.New(config.GetConfigOrDie(), manager.Options{ @@ -60,9 +57,6 @@ func CreateManager() (ctrl.Manager, error) { // running `kubectl get .... --show-managed-fields` will show the managed fields. DefaultTransform: cache.TransformStripManagedFields(), ByObject: map[client.Object]cache.ByObject{ - &corev1.ConfigMap{}: { - Field: odigosConfigSelector, - }, &corev1.Pod{}: { Field: currentNodeSelector, }, diff --git a/odiglet/pkg/kube/runtime_details/inspection.go b/odiglet/pkg/kube/runtime_details/inspection.go index 7bc358495f..6cedd8a12c 100644 --- a/odiglet/pkg/kube/runtime_details/inspection.go +++ b/odiglet/pkg/kube/runtime_details/inspection.go @@ -17,7 +17,6 @@ import ( "github.com/odigos-io/odigos/common" "github.com/odigos-io/odigos/common/envOverwrite" criwrapper "github.com/odigos-io/odigos/k8sutils/pkg/cri" - "github.com/odigos-io/odigos/k8sutils/pkg/utils" "github.com/odigos-io/odigos/k8sutils/pkg/workload" kubeutils "github.com/odigos-io/odigos/odiglet/pkg/kube/utils" "github.com/odigos-io/odigos/odiglet/pkg/log" @@ -27,20 +26,11 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ) -func runtimeInspection(ctx context.Context, pods []corev1.Pod, ignoredContainers []string, criClient *criwrapper.CriClient) ([]odigosv1.RuntimeDetailsByContainer, error) { +func runtimeInspection(ctx context.Context, pods []corev1.Pod, criClient *criwrapper.CriClient) ([]odigosv1.RuntimeDetailsByContainer, error) { resultsMap := make(map[string]odigosv1.RuntimeDetailsByContainer) for _, pod := range pods { for _, container := range pod.Spec.Containers { - // Skip ignored containers, but label them as ignored - if utils.IsItemIgnored(container.Name, ignoredContainers) { - resultsMap[container.Name] = odigosv1.RuntimeDetailsByContainer{ - ContainerName: container.Name, - Language: common.IgnoredProgrammingLanguage, - } - continue - } - processes, err := process.FindAllInContainer(string(pod.UID), container.Name) if err != nil { log.Logger.Error(err, "failed to find processes in pod container", "pod", pod.Name, "container", container.Name, "namespace", pod.Namespace) diff --git a/odiglet/pkg/kube/runtime_details/instrumentationconfigs_controller.go b/odiglet/pkg/kube/runtime_details/instrumentationconfigs_controller.go index c51f836377..ea4e84b4f4 100644 --- a/odiglet/pkg/kube/runtime_details/instrumentationconfigs_controller.go +++ b/odiglet/pkg/kube/runtime_details/instrumentationconfigs_controller.go @@ -6,9 +6,8 @@ import ( "fmt" odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" - criwrapper "github.com/odigos-io/odigos/k8sutils/pkg/cri" - k8sutils "github.com/odigos-io/odigos/k8sutils/pkg/utils" k8scontainer "github.com/odigos-io/odigos/k8sutils/pkg/container" + criwrapper "github.com/odigos-io/odigos/k8sutils/pkg/cri" "github.com/odigos-io/odigos/k8sutils/pkg/workload" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" @@ -101,12 +100,7 @@ func (r *InstrumentationConfigReconciler) Reconcile(ctx context.Context, request } } - odigosConfig, err := k8sutils.GetCurrentOdigosConfig(ctx, r.Client) - if err != nil { - return k8sutils.K8SNoEffectiveConfigErrorHandler(err) - } - - runtimeResults, err := runtimeInspection(ctx, selectedPods, odigosConfig.IgnoredContainers, r.CriClient) + runtimeResults, err := runtimeInspection(ctx, selectedPods, r.CriClient) if err != nil { return reconcile.Result{}, err } @@ -121,4 +115,3 @@ func (r *InstrumentationConfigReconciler) Reconcile(ctx context.Context, request logger.Info("Completed runtime detection for new instrumentation config", "namespace", request.Namespace, "name", request.Name) return reconcile.Result{}, nil } - diff --git a/odiglet/pkg/kube/runtime_details/pods_controller.go b/odiglet/pkg/kube/runtime_details/pods_controller.go index 55e9ca62c8..2e8d6e67bb 100644 --- a/odiglet/pkg/kube/runtime_details/pods_controller.go +++ b/odiglet/pkg/kube/runtime_details/pods_controller.go @@ -6,7 +6,6 @@ import ( odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" "github.com/odigos-io/odigos/common" criwrapper "github.com/odigos-io/odigos/k8sutils/pkg/cri" - k8sutils "github.com/odigos-io/odigos/k8sutils/pkg/utils" "github.com/odigos-io/odigos/k8sutils/pkg/workload" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" @@ -56,13 +55,8 @@ func (p *PodsReconciler) Reconcile(ctx context.Context, request reconcile.Reques return reconcile.Result{}, client.IgnoreNotFound(err) } - odigosConfig, err := k8sutils.GetCurrentOdigosConfig(ctx, p.Client) - if err != nil { - return k8sutils.K8SNoEffectiveConfigErrorHandler(err) - } - // Perform runtime inspection once we know the pod is newer that the latest runtime inspection performed and saved. - runtimeResults, err := runtimeInspection(ctx, []corev1.Pod{pod}, odigosConfig.IgnoredContainers, p.CriClient) + runtimeResults, err := runtimeInspection(ctx, []corev1.Pod{pod}, p.CriClient) if err != nil { return reconcile.Result{}, err } diff --git a/tests/e2e/workload-lifecycle/01-assert-instrumented.yaml b/tests/e2e/workload-lifecycle/01-assert-instrumented.yaml index 3954c790cd..6963deb58b 100644 --- a/tests/e2e/workload-lifecycle/01-assert-instrumented.yaml +++ b/tests/e2e/workload-lifecycle/01-assert-instrumented.yaml @@ -5,13 +5,10 @@ metadata: name: deployment-nodejs-unsupported-version status: conditions: - - message: - 'javascript runtime version not supported by OpenTelemetry SDK. Found: - 8.17.0, supports: 14.0.0' - (observedGeneration != null): true - reason: RuntimeVersionNotSupported - status: 'False' - type: AppliedInstrumentationDevice + - message: "nodejs runtime not supported by OpenTelemetry. supported versions: '>= 14', found: 8.17.0" + reason: UnsupportedRuntimeVersion + status: "False" + type: AgentEnabled --- # expecting injection of instrumentation device to be successful since the runtime version was not detected apiVersion: odigos.io/v1alpha1 @@ -21,11 +18,14 @@ metadata: name: deployment-nodejs-very-old-version status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [nodejs-very-old-version]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- # expecting injection of instrumentation device to be successful since the runtime version is supported apiVersion: odigos.io/v1alpha1 @@ -35,11 +35,14 @@ metadata: name: deployment-nodejs-minimum-version status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [nodejs-minimum-version]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationInstance @@ -55,7 +58,7 @@ status: - key: telemetry.sdk.language value: nodejs - key: process.runtime.version - value: '14.0.0' + value: "14.0.0" - key: telemetry.distro.version value: e2e-test - key: process.pid @@ -74,11 +77,14 @@ metadata: name: deployment-nodejs-latest-version status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [nodejs-latest-version]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationInstance @@ -113,11 +119,14 @@ metadata: name: deployment-nodejs-dockerfile-env status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [nodejs-dockerfile-env]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationInstance @@ -133,7 +142,7 @@ status: - key: telemetry.sdk.language value: nodejs - key: process.runtime.version - value: '20.17.0' + value: "20.17.0" - key: telemetry.distro.version value: e2e-test - key: process.pid @@ -152,11 +161,14 @@ metadata: name: deployment-nodejs-manifest-env status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [nodejs-manifest-env]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationInstance @@ -172,7 +184,7 @@ status: - key: telemetry.sdk.language value: nodejs - key: process.runtime.version - value: '20.17.0' + value: "20.17.0" - key: telemetry.distro.version value: e2e-test - key: process.pid @@ -191,11 +203,9 @@ metadata: name: deployment-cpp-http-server status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - reason: UnsupportedProgrammingLanguage + status: "False" + type: AgentEnabled --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -204,11 +214,14 @@ metadata: name: deployment-java-supported-version status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [java-supported-version]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -217,11 +230,14 @@ metadata: name: deployment-java-azul status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [java-azul]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -230,11 +246,14 @@ metadata: name: deployment-java-supported-docker-env status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [java-supported-docker-env]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -243,11 +262,14 @@ metadata: name: deployment-java-supported-manifest-env status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [java-supported-manifest-env]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -256,11 +278,14 @@ metadata: name: deployment-java-latest-version status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [java-latest-version]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -269,11 +294,14 @@ metadata: name: deployment-java-old-version status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [java-old-version]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -282,11 +310,14 @@ metadata: name: deployment-python-alpine status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [python-alpine]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -295,11 +326,14 @@ metadata: name: deployment-python-latest-version status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [python-latest-version]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -308,11 +342,14 @@ metadata: name: deployment-python-min-version status: conditions: - - message: 'Odigos instrumentation is enabled' - (observedGeneration != null): true - reason: InstrumentationEnabled - status: 'True' - type: AppliedInstrumentationDevice + - message: "agent injected successfully to 1 containers: [python-min-version]" + reason: EnabledSuccessfully + status: "True" + type: AgentEnabled + - message: workload rollout triggered successfully + reason: RolloutTriggeredSuccessfully + status: "True" + type: WorkloadRollout --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -321,11 +358,10 @@ metadata: name: deployment-python-not-supported status: conditions: - - message: 'python runtime version not supported by OpenTelemetry SDK. Found: 3.6.15, supports: 3.8.0' - (observedGeneration != null): true - reason: RuntimeVersionNotSupported - status: 'False' - type: AppliedInstrumentationDevice + - message: "python-runtime runtime not supported by OpenTelemetry. supported versions: '>= 3.8', found: 3.6.15" + reason: UnsupportedRuntimeVersion + status: "False" + type: AgentEnabled --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationConfig @@ -334,11 +370,10 @@ metadata: name: deployment-python-other-agent status: conditions: - - message: 'Odigos instrumentation failed to apply' - (observedGeneration != null): true - reason: ErrApplyingInstrumentationDevice - status: 'False' - type: AppliedInstrumentationDevice + - message: "odigos agent not enabled due to other instrumentation agent 'New Relic Agent' detected running in the container" + reason: OtherAgentDetected + status: "False" + type: AgentEnabled --- apiVersion: odigos.io/v1alpha1 kind: InstrumentationInstance From be3331e84307b780f5f74d1e8040cdda34590b59 Mon Sep 17 00:00:00 2001 From: Ron Federman <73110295+RonFed@users.noreply.github.com> Date: Wed, 5 Feb 2025 17:05:49 +0200 Subject: [PATCH 02/16] Update rel Dockerfile to copy distros (#2392) --- Dockerfile.rhel | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile.rhel b/Dockerfile.rhel index 5f7316ad59..60962a82ff 100644 --- a/Dockerfile.rhel +++ b/Dockerfile.rhel @@ -7,6 +7,7 @@ COPY api/ api/ COPY common/ common/ COPY k8sutils/ k8sutils/ COPY profiles/ profiles/ +COPY distros/ distros/ WORKDIR /workspace/$SERVICE_NAME RUN mkdir -p /workspace/build From 5e82a1917240c8c618819d2224cd7d41d6eabe95 Mon Sep 17 00:00:00 2001 From: Mike Dame Date: Wed, 5 Feb 2025 10:46:12 -0500 Subject: [PATCH 03/16] Add LICENSE file to distros/ (#2393) --- distros/LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 distros/LICENSE diff --git a/distros/LICENSE b/distros/LICENSE new file mode 100644 index 0000000000..d164b5f728 --- /dev/null +++ b/distros/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2023 Odigos + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From c7e6861e38085cfa96bc1941e4223eff9873bf05 Mon Sep 17 00:00:00 2001 From: Mike Dame Date: Wed, 5 Feb 2025 12:19:59 -0500 Subject: [PATCH 04/16] Bump OpenTelemetry Collector dependencies to 0.119.0 (#2386) Co-authored-by: Amir Blum --- Makefile | 4 +- api/go.mod | 2 +- api/go.sum | 4 +- autoscaler/go.mod | 6 +- autoscaler/go.sum | 12 +- cli/go.mod | 2 +- cli/go.sum | 4 +- collector/Makefile | 2 +- collector/builder-config.yaml | 182 +-- .../exporters/azureblobstorageexporter/go.mod | 48 +- .../exporters/azureblobstorageexporter/go.sum | 104 +- .../googlecloudstorageexporter/go.mod | 46 +- .../googlecloudstorageexporter/go.sum | 100 +- .../exporters/mockdestinationexporter/go.mod | 48 +- .../exporters/mockdestinationexporter/go.sum | 104 +- collector/internal/tools/go.mod | 21 +- collector/internal/tools/go.sum | 40 +- collector/odigosotelcol/components.go | 174 +-- collector/odigosotelcol/go.mod | 504 ++++---- collector/odigosotelcol/go.sum | 1044 +++++++++-------- collector/odigosotelcol/main.go | 5 +- .../generated_component_test.go | 2 +- .../odigosconditionalattributes/go.mod | 34 +- .../odigosconditionalattributes/go.sum | 68 +- .../generated_component_test.go | 2 +- .../odigosresourcenameprocessor/go.mod | 38 +- .../odigosresourcenameprocessor/go.sum | 76 +- .../generated_component_test.go | 2 +- .../processors/odigossamplingprocessor/go.mod | 36 +- .../processors/odigossamplingprocessor/go.sum | 72 +- .../generated_component_test.go | 2 +- .../odigossourcesfilterprocessor/go.mod | 34 +- .../odigossourcesfilterprocessor/go.sum | 68 +- .../generated_component_test.go | 2 +- .../odigossqldboperationprocessor/go.mod | 38 +- .../odigossqldboperationprocessor/go.sum | 80 +- .../generated_component_test.go | 2 +- .../processors/odigostrafficmetrics/go.mod | 42 +- .../processors/odigostrafficmetrics/go.sum | 80 +- .../internal/metadata/generated_telemetry.go | 33 +- .../metadatatest/generated_telemetrytest.go | 148 ++- .../generated_telemetrytest_test.go | 25 +- collector/providers/odigosfileprovider/go.mod | 2 +- collector/providers/odigosfileprovider/go.sum | 4 +- frontend/go.mod | 84 +- frontend/go.sum | 180 +-- instrumentor/go.mod | 6 +- instrumentor/go.sum | 12 +- k8sutils/go.mod | 4 +- k8sutils/go.sum | 8 +- odiglet/go.mod | 5 +- odiglet/go.sum | 10 +- opampserver/go.mod | 4 +- opampserver/go.sum | 8 +- scheduler/go.mod | 6 +- scheduler/go.sum | 12 +- scripts/cli-docgen/go.mod | 2 +- scripts/cli-docgen/go.sum | 4 +- 58 files changed, 1898 insertions(+), 1793 deletions(-) diff --git a/Makefile b/Makefile index 51134f7210..f15a7ad590 100644 --- a/Makefile +++ b/Makefile @@ -228,8 +228,8 @@ update-dep/%: cd $(DIR) && go get $(MODULE)@$(VERSION) GO_AUTO_VERSION=v0.19.0-alpha -UNSTABLE_COLLECTOR_VERSION=v0.118.0 -STABLE_COLLECTOR_VERSION=v1.24.0 +UNSTABLE_COLLECTOR_VERSION=v0.119.0 +STABLE_COLLECTOR_VERSION=v1.25.0 STABLE_OTEL_GO_VERSION=v1.34.0 UNSTABLE_OTEL_GO_VERSION=v0.59.0 diff --git a/api/go.mod b/api/go.mod index 75d29a6bac..355db30854 100644 --- a/api/go.mod +++ b/api/go.mod @@ -59,7 +59,7 @@ require ( golang.org/x/time v0.7.0 // indirect golang.org/x/tools v0.28.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.32.0 diff --git a/api/go.sum b/api/go.sum index be54618468..ec0608115b 100644 --- a/api/go.sum +++ b/api/go.sum @@ -162,8 +162,8 @@ 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= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/autoscaler/go.mod b/autoscaler/go.mod index 5c184a6d8f..3185ff31b0 100644 --- a/autoscaler/go.mod +++ b/autoscaler/go.mod @@ -58,7 +58,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.61.0 // indirect + github.com/prometheus/common v0.62.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect @@ -80,8 +80,8 @@ require ( gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/autoscaler/go.sum b/autoscaler/go.sum index da430584e1..22e8b28650 100644 --- a/autoscaler/go.sum +++ b/autoscaler/go.sum @@ -114,8 +114,8 @@ github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+ 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.61.0 h1:3gv/GThfX0cV2lpO7gkTUwZru38mxevy90Bj8YFSRQQ= -github.com/prometheus/common v0.61.0/go.mod h1:zr29OCN/2BsJRaFwG8QOBr41D6kkchKbpeNH7pAjb/s= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= 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.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= @@ -205,10 +205,10 @@ google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f h1: google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:Ic02D47M+zbarjYYUlK57y316f2MoN0gjAwI3f2S95o= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/cli/go.mod b/cli/go.mod index 56890c168e..22dee928ca 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -64,7 +64,7 @@ require ( golang.org/x/term v0.28.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.7.0 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/klog/v2 v2.130.1 // indirect diff --git a/cli/go.sum b/cli/go.sum index 25c57475ef..5ee6cb9108 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -164,8 +164,8 @@ 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= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/collector/Makefile b/collector/Makefile index 49c4ece352..d3008b0602 100644 --- a/collector/Makefile +++ b/collector/Makefile @@ -4,7 +4,7 @@ SRC_ROOT := $(shell git rev-parse --show-toplevel)/collector TOOLS_BIN_DIR := $(SRC_ROOT)/.tools # Define the tool version -BUILDER_VERSION = 0.118.0 +BUILDER_VERSION = 0.119.0 BUILDER := $(TOOLS_BIN_DIR)/builder_$(BUILDER_VERSION) # Determine the current operating system and architecture diff --git a/collector/builder-config.yaml b/collector/builder-config.yaml index 826895e9b9..e33495f90c 100644 --- a/collector/builder-config.yaml +++ b/collector/builder-config.yaml @@ -2,113 +2,113 @@ dist: module: odigos.io/opentelemetry-collector/cmd/odigosotelcol name: odigosotelcol description: OpenTelemetry Collector for Odigos - version: 0.118.0 + version: 0.119.0 output_path: ./odigosotelcol extensions: - - gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.118.0 + - gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.119.0 exporters: - - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.118.0 - - gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.118.0 - - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.118.0 - - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/azureblobstorageexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/googlecloudstorageexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/mockdestinationexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.118.0 + - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.119.0 + - gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.119.0 + - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0 + - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/azureblobstorageexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/googlecloudstorageexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/mockdestinationexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.119.0 processors: - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosresourcenameprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossamplingprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosconditionalattributes v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossqldboperationprocessor v0.118.0 - - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.118.0 - - gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigostrafficmetrics v0.118.0 - - gomod: github.com/odigos-io/odigos/processor/odigossourcesfilterprocessor v0.118.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosresourcenameprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossamplingprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosconditionalattributes v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossqldboperationprocessor v0.119.0 + - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.119.0 + - gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigostrafficmetrics v0.119.0 + - gomod: github.com/odigos-io/odigos/processor/odigossourcesfilterprocessor v0.119.0 receivers: - - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.118.0 + - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0 # https://github.com/open-telemetry/opentelemetry-collector/issues/8127 excludes: - github.com/knadh/koanf v1.5.0 connectors: - - gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.118.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.118.0 + - gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.119.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0 providers: - - gomod: go.opentelemetry.io/collector/odigos/providers/odigosfileprovider v0.118.0 # fork default file provider for config reloading - - gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v0.118.0 + - gomod: go.opentelemetry.io/collector/odigos/providers/odigosfileprovider v0.119.0 # fork default file provider for config reloading + - gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v0.119.0 replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosresourcenameprocessor => ../processors/odigosresourcenameprocessor @@ -120,4 +120,4 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/mockdestinationexporter => ../exporters/mockdestinationexporter - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigostrafficmetrics => ../processors/odigostrafficmetrics - github.com/odigos-io/odigos/processor/odigossourcesfilterprocessor => ../processors/odigossourcesfilterprocessor - - go.opentelemetry.io/collector/odigos/providers/odigosfileprovider => ../providers/odigosfileprovider \ No newline at end of file + - go.opentelemetry.io/collector/odigos/providers/odigosfileprovider => ../providers/odigosfileprovider diff --git a/collector/exporters/azureblobstorageexporter/go.mod b/collector/exporters/azureblobstorageexporter/go.mod index 93bdc7d7b4..e33c3077b0 100644 --- a/collector/exporters/azureblobstorageexporter/go.mod +++ b/collector/exporters/azureblobstorageexporter/go.mod @@ -6,13 +6,13 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0 github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/exporter v0.118.0 - go.opentelemetry.io/collector/exporter/exportertest v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/exporter v0.119.0 + go.opentelemetry.io/collector/exporter/exportertest v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 go.opentelemetry.io/otel/metric v1.34.0 go.opentelemetry.io/otel/trace v1.34.0 go.uber.org/goleak v1.3.0 @@ -43,20 +43,20 @@ require ( github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/config/configretry v1.24.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/exporter/xexporter v0.118.0 // indirect - go.opentelemetry.io/collector/extension v0.118.0 // indirect - go.opentelemetry.io/collector/extension/xextension v0.118.0 // indirect - go.opentelemetry.io/collector/featuregate v1.24.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/receiver v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/receivertest v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.25.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/xexporter v0.119.0 // indirect + go.opentelemetry.io/collector/extension v0.119.0 // indirect + go.opentelemetry.io/collector/extension/xextension v0.119.0 // indirect + go.opentelemetry.io/collector/featuregate v1.25.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/receiver v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/receivertest v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 // indirect go.opentelemetry.io/otel v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect @@ -65,8 +65,8 @@ require ( golang.org/x/net v0.34.0 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/collector/exporters/azureblobstorageexporter/go.sum b/collector/exporters/azureblobstorageexporter/go.sum index 46e3e7a570..c7de17293d 100644 --- a/collector/exporters/azureblobstorageexporter/go.sum +++ b/collector/exporters/azureblobstorageexporter/go.sum @@ -281,52 +281,52 @@ go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3 go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configretry v1.24.0 h1:sIPHhNNY2YlHMIJ//63iMxIqlgDeGczId0uUb1njsPM= -go.opentelemetry.io/collector/config/configretry v1.24.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0 h1:Cx//ZFDa6wUEoRDRYRZ/Rkb52dWNoHj2e9FdlcM9jCA= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0/go.mod h1:2mhnzzLYR5zS2Zz4h9ZnRM8Uogu9qatcfQwGNenhing= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/exporter v0.118.0 h1:PE0vF2U+znOB8OVLPWNw40bGCoT/5QquQ8Xbz4i9Rb0= -go.opentelemetry.io/collector/exporter v0.118.0/go.mod h1:5ST3gxT/RzE/vg2bcGDtWJxlQF1ypwk50UpmdK1kUqY= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0 h1:8gWky42BcJsxoaqWbnqCDUjP3Y84hjC6RD/UWHwR7sI= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0/go.mod h1:UbpQBZvznA8YPqqcKlafVIhB6Qa4fPf2+I67MUGyNqo= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0 h1:PZAo1CFhZHfQwtzUNj+Fwcv/21pWHJHTsrIddD096fw= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0/go.mod h1:x4J+qyrRcp4DfWKqK3DLZomFTIUhedsqCQWqq6Gqps4= -go.opentelemetry.io/collector/extension v0.118.0 h1:9o5jLCTRvs0+rtFDx04zTBuB4WFrE0RvtVCPovYV0sA= -go.opentelemetry.io/collector/extension v0.118.0/go.mod h1:BFwB0WOlse6JnrStO44+k9kwUVjjtseFEHhJLHD7lBg= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0 h1:rKBUaFS9elGfENG45wANmrwx7mHsmt1+YWCzxjftElg= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0/go.mod h1:CqNXzkIOR32D8EUpptpOXhpFkibs3kFlRyNMEgIW8l4= -go.opentelemetry.io/collector/extension/xextension v0.118.0 h1:P6gvJzqnH9ma2QfnWde/E6Xu9bAzuefzIwm5iupiVPE= -go.opentelemetry.io/collector/extension/xextension v0.118.0/go.mod h1:ne4Q8ZtRlbC0Etr2hTcVkjOpVM2bE2xy1u+R80LUkDw= -go.opentelemetry.io/collector/featuregate v1.24.0 h1:DEqDsuJgxjZ3E5JNC9hXCd4sWGFiF7h9kaziODuqwFY= -go.opentelemetry.io/collector/featuregate v1.24.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/receiver v0.118.0 h1:X4mspHmbbtwdCQZ7o370kNmdWfxRnK1FrsvEShCCKEc= -go.opentelemetry.io/collector/receiver v0.118.0/go.mod h1:wFyfu6sgrkDPLQoGOGMuChGZzkZnYcI/tPJWV4CRTzs= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0 h1:XlMr2mPsyXJsMUOqCpEoY3uCPsLZQbNA5fmVNDGB7Bw= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0/go.mod h1:dtu/H1RNjhy11hTVf/XUfc02uGufMhYYdhhYBbglcUg= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 h1:dzECve9e0H3ot0JWnWPuQr9Y84RhOYSd0+CjvJskx7Y= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0/go.mod h1:Lv1nD/mSYSP64iV8k+C+mWWZZOMLRubv9d1SUory3/E= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configretry v1.25.0 h1:PelzRkTJ9zGxwdJha7pPtvR91GrgL/OzkY/MwyXYRUE= +go.opentelemetry.io/collector/config/configretry v1.25.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0 h1:M6QXK3KLWnNLlUWOBgz+WQI//W9M8r9qVGWUA3mc5LM= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0/go.mod h1:UNnNkr+ZQJhAMNE5v1n86lXbJrSYb+1ePcI98gV6xvo= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/exporter v0.119.0 h1:eVHmkeB5HQY/FcoP62l7O4Q0cAZ97LwLhZiAQoQeBtU= +go.opentelemetry.io/collector/exporter v0.119.0/go.mod h1:xMF9mT01tXHX2NjfMRV8o9YyhPBZOR4Wt+srkTy1thM= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0 h1:saABJIiyYyqWEBvGe2VVf5rMMpHdwB83nD6feNZ33nA= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0/go.mod h1:S82pMkj1gWdivxVRKqaRJvGMgVRntKVI5dWAgs23KI8= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0 h1:bCUFRa/of+iPrJoXyzJ5cbOv/hWDHw87bnDRFQJ/JVU= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0/go.mod h1:naV2XoiJv8bvOt7Vs9h6aDWmJnuD1SRnDqkIFRINYlI= +go.opentelemetry.io/collector/extension v0.119.0 h1:Itkt3jqYLjkhoX4kWhICuhXQEQz332W7UL6DpmaNHMc= +go.opentelemetry.io/collector/extension v0.119.0/go.mod h1:yMpvs58Z9F3UpSoE4w/1q/EEKlLFZBOQ2muzzikRvO8= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0 h1:sAdIBRJ6Df7jdkHWY/pSEYTersxURkUz9pENKl73n6s= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0/go.mod h1:XQbUTXneJ//xt58eu5ofHhzWQcQ24GRTbBMWHCEsipA= +go.opentelemetry.io/collector/extension/xextension v0.119.0 h1:uSUvha4yxk5jWevhepsQ56QSAOkk3Z4M0vcPEJeZ6UU= +go.opentelemetry.io/collector/extension/xextension v0.119.0/go.mod h1:2DSTP2IEFfCC+2IFzl1eG9bCKsBkxIQjIphziJ0+vuo= +go.opentelemetry.io/collector/featuregate v1.25.0 h1:3b857fvoY9xBcE5qtLUE1/nlQ65teuW9d8CKr6MykYc= +go.opentelemetry.io/collector/featuregate v1.25.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/receiver v0.119.0 h1:ZatoS4POR+XDkN1WwAv18Ism9f/FUsIjtVT4MIZbQS0= +go.opentelemetry.io/collector/receiver v0.119.0/go.mod h1:JUSsVwyKKQVD/Fy3T98OHOlVHE15Z7juba5RQzG3AXc= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0 h1:thZkyftPCNit/m2bUUC+zaR1+hbXoSkCDtNN/vZIZSg= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0/go.mod h1:DZM70vofnquGkQiTfT5ZSFZlohxANl9XOrVq9h5IKnc= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 h1:ZcTO+h+r9TyR1XgMhA7FTSTV9RF+z/IDPrcRIg1l56U= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0/go.mod h1:AkoWhnYFMygK7Tlzez398ti20NqydX8wxPVWU86+baE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -459,8 +459,8 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 h1:91mG8dNTpkC0uChJUQ9zCiRqx3GEEFOWaRZ0mI6Oj2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= @@ -469,8 +469,8 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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= @@ -482,8 +482,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/collector/exporters/googlecloudstorageexporter/go.mod b/collector/exporters/googlecloudstorageexporter/go.mod index 4858831afe..96645c52c8 100644 --- a/collector/exporters/googlecloudstorageexporter/go.mod +++ b/collector/exporters/googlecloudstorageexporter/go.mod @@ -5,13 +5,13 @@ go 1.23.0 require ( cloud.google.com/go/storage v1.30.1 github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/exporter v0.118.0 - go.opentelemetry.io/collector/exporter/exportertest v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/exporter v0.119.0 + go.opentelemetry.io/collector/exporter/exportertest v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 go.opentelemetry.io/otel/metric v1.34.0 go.opentelemetry.io/otel/trace v1.34.0 go.uber.org/goleak v1.3.0 @@ -45,20 +45,20 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/config/configretry v1.24.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/exporter/xexporter v0.118.0 // indirect - go.opentelemetry.io/collector/extension v0.118.0 // indirect - go.opentelemetry.io/collector/extension/xextension v0.118.0 // indirect - go.opentelemetry.io/collector/featuregate v1.24.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/receiver v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/receivertest v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.25.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/xexporter v0.119.0 // indirect + go.opentelemetry.io/collector/extension v0.119.0 // indirect + go.opentelemetry.io/collector/extension/xextension v0.119.0 // indirect + go.opentelemetry.io/collector/featuregate v1.25.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/receiver v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/receivertest v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 // indirect go.opentelemetry.io/otel v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect @@ -73,7 +73,7 @@ require ( google.golang.org/genproto v0.0.0-20231212172506-995d672761c0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/collector/exporters/googlecloudstorageexporter/go.sum b/collector/exporters/googlecloudstorageexporter/go.sum index 925e0661de..cf641b24bc 100644 --- a/collector/exporters/googlecloudstorageexporter/go.sum +++ b/collector/exporters/googlecloudstorageexporter/go.sum @@ -290,52 +290,52 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configretry v1.24.0 h1:sIPHhNNY2YlHMIJ//63iMxIqlgDeGczId0uUb1njsPM= -go.opentelemetry.io/collector/config/configretry v1.24.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0 h1:Cx//ZFDa6wUEoRDRYRZ/Rkb52dWNoHj2e9FdlcM9jCA= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0/go.mod h1:2mhnzzLYR5zS2Zz4h9ZnRM8Uogu9qatcfQwGNenhing= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/exporter v0.118.0 h1:PE0vF2U+znOB8OVLPWNw40bGCoT/5QquQ8Xbz4i9Rb0= -go.opentelemetry.io/collector/exporter v0.118.0/go.mod h1:5ST3gxT/RzE/vg2bcGDtWJxlQF1ypwk50UpmdK1kUqY= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0 h1:8gWky42BcJsxoaqWbnqCDUjP3Y84hjC6RD/UWHwR7sI= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0/go.mod h1:UbpQBZvznA8YPqqcKlafVIhB6Qa4fPf2+I67MUGyNqo= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0 h1:PZAo1CFhZHfQwtzUNj+Fwcv/21pWHJHTsrIddD096fw= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0/go.mod h1:x4J+qyrRcp4DfWKqK3DLZomFTIUhedsqCQWqq6Gqps4= -go.opentelemetry.io/collector/extension v0.118.0 h1:9o5jLCTRvs0+rtFDx04zTBuB4WFrE0RvtVCPovYV0sA= -go.opentelemetry.io/collector/extension v0.118.0/go.mod h1:BFwB0WOlse6JnrStO44+k9kwUVjjtseFEHhJLHD7lBg= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0 h1:rKBUaFS9elGfENG45wANmrwx7mHsmt1+YWCzxjftElg= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0/go.mod h1:CqNXzkIOR32D8EUpptpOXhpFkibs3kFlRyNMEgIW8l4= -go.opentelemetry.io/collector/extension/xextension v0.118.0 h1:P6gvJzqnH9ma2QfnWde/E6Xu9bAzuefzIwm5iupiVPE= -go.opentelemetry.io/collector/extension/xextension v0.118.0/go.mod h1:ne4Q8ZtRlbC0Etr2hTcVkjOpVM2bE2xy1u+R80LUkDw= -go.opentelemetry.io/collector/featuregate v1.24.0 h1:DEqDsuJgxjZ3E5JNC9hXCd4sWGFiF7h9kaziODuqwFY= -go.opentelemetry.io/collector/featuregate v1.24.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/receiver v0.118.0 h1:X4mspHmbbtwdCQZ7o370kNmdWfxRnK1FrsvEShCCKEc= -go.opentelemetry.io/collector/receiver v0.118.0/go.mod h1:wFyfu6sgrkDPLQoGOGMuChGZzkZnYcI/tPJWV4CRTzs= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0 h1:XlMr2mPsyXJsMUOqCpEoY3uCPsLZQbNA5fmVNDGB7Bw= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0/go.mod h1:dtu/H1RNjhy11hTVf/XUfc02uGufMhYYdhhYBbglcUg= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 h1:dzECve9e0H3ot0JWnWPuQr9Y84RhOYSd0+CjvJskx7Y= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0/go.mod h1:Lv1nD/mSYSP64iV8k+C+mWWZZOMLRubv9d1SUory3/E= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configretry v1.25.0 h1:PelzRkTJ9zGxwdJha7pPtvR91GrgL/OzkY/MwyXYRUE= +go.opentelemetry.io/collector/config/configretry v1.25.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0 h1:M6QXK3KLWnNLlUWOBgz+WQI//W9M8r9qVGWUA3mc5LM= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0/go.mod h1:UNnNkr+ZQJhAMNE5v1n86lXbJrSYb+1ePcI98gV6xvo= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/exporter v0.119.0 h1:eVHmkeB5HQY/FcoP62l7O4Q0cAZ97LwLhZiAQoQeBtU= +go.opentelemetry.io/collector/exporter v0.119.0/go.mod h1:xMF9mT01tXHX2NjfMRV8o9YyhPBZOR4Wt+srkTy1thM= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0 h1:saABJIiyYyqWEBvGe2VVf5rMMpHdwB83nD6feNZ33nA= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0/go.mod h1:S82pMkj1gWdivxVRKqaRJvGMgVRntKVI5dWAgs23KI8= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0 h1:bCUFRa/of+iPrJoXyzJ5cbOv/hWDHw87bnDRFQJ/JVU= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0/go.mod h1:naV2XoiJv8bvOt7Vs9h6aDWmJnuD1SRnDqkIFRINYlI= +go.opentelemetry.io/collector/extension v0.119.0 h1:Itkt3jqYLjkhoX4kWhICuhXQEQz332W7UL6DpmaNHMc= +go.opentelemetry.io/collector/extension v0.119.0/go.mod h1:yMpvs58Z9F3UpSoE4w/1q/EEKlLFZBOQ2muzzikRvO8= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0 h1:sAdIBRJ6Df7jdkHWY/pSEYTersxURkUz9pENKl73n6s= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0/go.mod h1:XQbUTXneJ//xt58eu5ofHhzWQcQ24GRTbBMWHCEsipA= +go.opentelemetry.io/collector/extension/xextension v0.119.0 h1:uSUvha4yxk5jWevhepsQ56QSAOkk3Z4M0vcPEJeZ6UU= +go.opentelemetry.io/collector/extension/xextension v0.119.0/go.mod h1:2DSTP2IEFfCC+2IFzl1eG9bCKsBkxIQjIphziJ0+vuo= +go.opentelemetry.io/collector/featuregate v1.25.0 h1:3b857fvoY9xBcE5qtLUE1/nlQ65teuW9d8CKr6MykYc= +go.opentelemetry.io/collector/featuregate v1.25.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/receiver v0.119.0 h1:ZatoS4POR+XDkN1WwAv18Ism9f/FUsIjtVT4MIZbQS0= +go.opentelemetry.io/collector/receiver v0.119.0/go.mod h1:JUSsVwyKKQVD/Fy3T98OHOlVHE15Z7juba5RQzG3AXc= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0 h1:thZkyftPCNit/m2bUUC+zaR1+hbXoSkCDtNN/vZIZSg= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0/go.mod h1:DZM70vofnquGkQiTfT5ZSFZlohxANl9XOrVq9h5IKnc= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 h1:ZcTO+h+r9TyR1XgMhA7FTSTV9RF+z/IDPrcRIg1l56U= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0/go.mod h1:AkoWhnYFMygK7Tlzez398ti20NqydX8wxPVWU86+baE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -491,8 +491,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 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.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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= @@ -504,8 +504,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/collector/exporters/mockdestinationexporter/go.mod b/collector/exporters/mockdestinationexporter/go.mod index b64a2d82fc..bf72c3870c 100644 --- a/collector/exporters/mockdestinationexporter/go.mod +++ b/collector/exporters/mockdestinationexporter/go.mod @@ -4,13 +4,13 @@ go 1.23.0 require ( github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/exporter v0.118.0 - go.opentelemetry.io/collector/exporter/exportertest v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/exporter v0.119.0 + go.opentelemetry.io/collector/exporter/exportertest v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 go.opentelemetry.io/otel/metric v1.34.0 go.opentelemetry.io/otel/trace v1.34.0 go.uber.org/goleak v1.3.0 @@ -35,20 +35,20 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/config/configretry v1.24.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/exporter/xexporter v0.118.0 // indirect - go.opentelemetry.io/collector/extension v0.118.0 // indirect - go.opentelemetry.io/collector/extension/xextension v0.118.0 // indirect - go.opentelemetry.io/collector/featuregate v1.24.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/receiver v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/receivertest v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.25.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/xexporter v0.119.0 // indirect + go.opentelemetry.io/collector/extension v0.119.0 // indirect + go.opentelemetry.io/collector/extension/xextension v0.119.0 // indirect + go.opentelemetry.io/collector/featuregate v1.25.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/receiver v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/receivertest v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 // indirect go.opentelemetry.io/otel v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect @@ -56,8 +56,8 @@ require ( golang.org/x/net v0.34.0 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/collector/exporters/mockdestinationexporter/go.sum b/collector/exporters/mockdestinationexporter/go.sum index 7638116f33..ad6e189c0f 100644 --- a/collector/exporters/mockdestinationexporter/go.sum +++ b/collector/exporters/mockdestinationexporter/go.sum @@ -263,52 +263,52 @@ go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3 go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configretry v1.24.0 h1:sIPHhNNY2YlHMIJ//63iMxIqlgDeGczId0uUb1njsPM= -go.opentelemetry.io/collector/config/configretry v1.24.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0 h1:Cx//ZFDa6wUEoRDRYRZ/Rkb52dWNoHj2e9FdlcM9jCA= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0/go.mod h1:2mhnzzLYR5zS2Zz4h9ZnRM8Uogu9qatcfQwGNenhing= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/exporter v0.118.0 h1:PE0vF2U+znOB8OVLPWNw40bGCoT/5QquQ8Xbz4i9Rb0= -go.opentelemetry.io/collector/exporter v0.118.0/go.mod h1:5ST3gxT/RzE/vg2bcGDtWJxlQF1ypwk50UpmdK1kUqY= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0 h1:8gWky42BcJsxoaqWbnqCDUjP3Y84hjC6RD/UWHwR7sI= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0/go.mod h1:UbpQBZvznA8YPqqcKlafVIhB6Qa4fPf2+I67MUGyNqo= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0 h1:PZAo1CFhZHfQwtzUNj+Fwcv/21pWHJHTsrIddD096fw= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0/go.mod h1:x4J+qyrRcp4DfWKqK3DLZomFTIUhedsqCQWqq6Gqps4= -go.opentelemetry.io/collector/extension v0.118.0 h1:9o5jLCTRvs0+rtFDx04zTBuB4WFrE0RvtVCPovYV0sA= -go.opentelemetry.io/collector/extension v0.118.0/go.mod h1:BFwB0WOlse6JnrStO44+k9kwUVjjtseFEHhJLHD7lBg= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0 h1:rKBUaFS9elGfENG45wANmrwx7mHsmt1+YWCzxjftElg= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0/go.mod h1:CqNXzkIOR32D8EUpptpOXhpFkibs3kFlRyNMEgIW8l4= -go.opentelemetry.io/collector/extension/xextension v0.118.0 h1:P6gvJzqnH9ma2QfnWde/E6Xu9bAzuefzIwm5iupiVPE= -go.opentelemetry.io/collector/extension/xextension v0.118.0/go.mod h1:ne4Q8ZtRlbC0Etr2hTcVkjOpVM2bE2xy1u+R80LUkDw= -go.opentelemetry.io/collector/featuregate v1.24.0 h1:DEqDsuJgxjZ3E5JNC9hXCd4sWGFiF7h9kaziODuqwFY= -go.opentelemetry.io/collector/featuregate v1.24.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/receiver v0.118.0 h1:X4mspHmbbtwdCQZ7o370kNmdWfxRnK1FrsvEShCCKEc= -go.opentelemetry.io/collector/receiver v0.118.0/go.mod h1:wFyfu6sgrkDPLQoGOGMuChGZzkZnYcI/tPJWV4CRTzs= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0 h1:XlMr2mPsyXJsMUOqCpEoY3uCPsLZQbNA5fmVNDGB7Bw= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0/go.mod h1:dtu/H1RNjhy11hTVf/XUfc02uGufMhYYdhhYBbglcUg= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 h1:dzECve9e0H3ot0JWnWPuQr9Y84RhOYSd0+CjvJskx7Y= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0/go.mod h1:Lv1nD/mSYSP64iV8k+C+mWWZZOMLRubv9d1SUory3/E= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configretry v1.25.0 h1:PelzRkTJ9zGxwdJha7pPtvR91GrgL/OzkY/MwyXYRUE= +go.opentelemetry.io/collector/config/configretry v1.25.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0 h1:M6QXK3KLWnNLlUWOBgz+WQI//W9M8r9qVGWUA3mc5LM= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0/go.mod h1:UNnNkr+ZQJhAMNE5v1n86lXbJrSYb+1ePcI98gV6xvo= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/exporter v0.119.0 h1:eVHmkeB5HQY/FcoP62l7O4Q0cAZ97LwLhZiAQoQeBtU= +go.opentelemetry.io/collector/exporter v0.119.0/go.mod h1:xMF9mT01tXHX2NjfMRV8o9YyhPBZOR4Wt+srkTy1thM= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0 h1:saABJIiyYyqWEBvGe2VVf5rMMpHdwB83nD6feNZ33nA= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0/go.mod h1:S82pMkj1gWdivxVRKqaRJvGMgVRntKVI5dWAgs23KI8= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0 h1:bCUFRa/of+iPrJoXyzJ5cbOv/hWDHw87bnDRFQJ/JVU= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0/go.mod h1:naV2XoiJv8bvOt7Vs9h6aDWmJnuD1SRnDqkIFRINYlI= +go.opentelemetry.io/collector/extension v0.119.0 h1:Itkt3jqYLjkhoX4kWhICuhXQEQz332W7UL6DpmaNHMc= +go.opentelemetry.io/collector/extension v0.119.0/go.mod h1:yMpvs58Z9F3UpSoE4w/1q/EEKlLFZBOQ2muzzikRvO8= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0 h1:sAdIBRJ6Df7jdkHWY/pSEYTersxURkUz9pENKl73n6s= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0/go.mod h1:XQbUTXneJ//xt58eu5ofHhzWQcQ24GRTbBMWHCEsipA= +go.opentelemetry.io/collector/extension/xextension v0.119.0 h1:uSUvha4yxk5jWevhepsQ56QSAOkk3Z4M0vcPEJeZ6UU= +go.opentelemetry.io/collector/extension/xextension v0.119.0/go.mod h1:2DSTP2IEFfCC+2IFzl1eG9bCKsBkxIQjIphziJ0+vuo= +go.opentelemetry.io/collector/featuregate v1.25.0 h1:3b857fvoY9xBcE5qtLUE1/nlQ65teuW9d8CKr6MykYc= +go.opentelemetry.io/collector/featuregate v1.25.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/receiver v0.119.0 h1:ZatoS4POR+XDkN1WwAv18Ism9f/FUsIjtVT4MIZbQS0= +go.opentelemetry.io/collector/receiver v0.119.0/go.mod h1:JUSsVwyKKQVD/Fy3T98OHOlVHE15Z7juba5RQzG3AXc= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0 h1:thZkyftPCNit/m2bUUC+zaR1+hbXoSkCDtNN/vZIZSg= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0/go.mod h1:DZM70vofnquGkQiTfT5ZSFZlohxANl9XOrVq9h5IKnc= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 h1:ZcTO+h+r9TyR1XgMhA7FTSTV9RF+z/IDPrcRIg1l56U= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0/go.mod h1:AkoWhnYFMygK7Tlzez398ti20NqydX8wxPVWU86+baE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -438,8 +438,8 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 h1:91mG8dNTpkC0uChJUQ9zCiRqx3GEEFOWaRZ0mI6Oj2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= @@ -448,8 +448,8 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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= @@ -461,8 +461,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/collector/internal/tools/go.mod b/collector/internal/tools/go.mod index ca52d1020f..a8f92f7507 100644 --- a/collector/internal/tools/go.mod +++ b/collector/internal/tools/go.mod @@ -12,7 +12,7 @@ require ( github.com/ory/go-acc v0.2.8 github.com/pavius/impi v0.0.3 github.com/tcnksm/ghr v0.16.2 - go.opentelemetry.io/collector/cmd/mdatagen v0.118.0 + go.opentelemetry.io/collector/cmd/mdatagen v0.119.0 golang.org/x/tools v0.28.0 golang.org/x/vuln v1.1.0 ) @@ -155,7 +155,7 @@ require ( github.com/polyfloyd/go-errorlint v1.5.1 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.61.0 // indirect + github.com/prometheus/common v0.62.0 // 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 @@ -206,15 +206,14 @@ require ( gitlab.com/bosi/decorder v0.4.2 // indirect go-simpler.org/musttag v0.12.1 // indirect go-simpler.org/sloglint v0.6.0 // indirect - go.opentelemetry.io/collector/component v0.118.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/confmap v1.24.0 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v1.24.0 // indirect - go.opentelemetry.io/collector/filter v0.118.0 // indirect - go.opentelemetry.io/collector/pdata v1.24.0 // indirect + go.opentelemetry.io/collector/component v0.119.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/confmap v1.25.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.25.0 // indirect + go.opentelemetry.io/collector/filter v0.119.0 // indirect + go.opentelemetry.io/collector/pdata v1.25.0 // indirect go.opentelemetry.io/otel v1.34.0 // indirect go.opentelemetry.io/otel/metric v1.34.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect go.opentelemetry.io/otel/trace v1.34.0 // indirect go.uber.org/automaxprocs v1.5.3 // indirect go.uber.org/multierr v1.11.0 // indirect @@ -229,8 +228,8 @@ require ( golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // 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 diff --git a/collector/internal/tools/go.sum b/collector/internal/tools/go.sum index 6bb5549b2e..ea8a68336a 100644 --- a/collector/internal/tools/go.sum +++ b/collector/internal/tools/go.sum @@ -557,8 +557,8 @@ github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= 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.61.0 h1:3gv/GThfX0cV2lpO7gkTUwZru38mxevy90Bj8YFSRQQ= -github.com/prometheus/common v0.61.0/go.mod h1:zr29OCN/2BsJRaFwG8QOBr41D6kkchKbpeNH7pAjb/s= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= 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= @@ -732,20 +732,20 @@ go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3 go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/cmd/mdatagen v0.118.0 h1:xQFvnY93L1oQD5yXcJvb0EGXWDrHbufGOGLpkb6uHvA= -go.opentelemetry.io/collector/cmd/mdatagen v0.118.0/go.mod h1:pEpmLTbKjx3Az/U/mW2wzxDWd0MxCTVTDdGYfHw2EeE= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/confmap/provider/fileprovider v1.24.0 h1:QoQulv9L20MhD1TFWH1scbRoo0bxbZqF2quh1VRNMh4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v1.24.0/go.mod h1:ljIH/rWIUHJeWIDEKMRU/ufol/bcgC7ufamchtuTAwM= -go.opentelemetry.io/collector/filter v0.118.0 h1:mvf08g5VHUcyhqobqId2bVGhgcs1RNR69INGlT0LEsA= -go.opentelemetry.io/collector/filter v0.118.0/go.mod h1:Pgii0Ad2PXdxYSYYqki6Mr4gZdueJG9rDOiaB3fXf3Q= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= +go.opentelemetry.io/collector/cmd/mdatagen v0.119.0 h1:NtfRqqxUMvUObdZWC0+hmJxzOsevkrHwm9ZNG7B+ct8= +go.opentelemetry.io/collector/cmd/mdatagen v0.119.0/go.mod h1:uITecUpy5CYdgU0Qg+PsAjDx3IIKPct0D+ECCsYIOnI= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.25.0 h1:0Bbay2ow6eQVKMxuota2i1/iIMRhE988hxoY/67Zfqw= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.25.0/go.mod h1:5xaAHjqx9mlcXxDCeUrZXkEfWk9suMqMKspK41XNelc= +go.opentelemetry.io/collector/filter v0.119.0 h1:uAoF9h7iTHlQE/AnIborqUwwT+Qtw+UnXfr4vEkzY0o= +go.opentelemetry.io/collector/filter v0.119.0/go.mod h1:mRiDt6ZAi+uN11FBwQ8z86k/SBn3PMwzP46cGz2thEc= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -979,8 +979,8 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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= @@ -992,8 +992,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/collector/odigosotelcol/components.go b/collector/odigosotelcol/components.go index 3da6ad61b8..e47cac619e 100644 --- a/collector/odigosotelcol/components.go +++ b/collector/odigosotelcol/components.go @@ -114,10 +114,10 @@ func components() (otelcol.Factories, error) { 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.118.0" - factories.ExtensionModules[healthcheckextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.118.0" - factories.ExtensionModules[pprofextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.118.0" - factories.ExtensionModules[basicauthextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.118.0" + factories.ExtensionModules[zpagesextension.NewFactory().Type()] = "go.opentelemetry.io/collector/extension/zpagesextension v0.119.0" + factories.ExtensionModules[healthcheckextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0" + factories.ExtensionModules[pprofextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0" + factories.ExtensionModules[basicauthextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.119.0" factories.Receivers, err = receiver.MakeFactoryMap( otlpreceiver.NewFactory(), @@ -131,12 +131,12 @@ func components() (otelcol.Factories, error) { 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.118.0" - factories.ReceiverModules[zipkinreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.118.0" - factories.ReceiverModules[filelogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.118.0" - factories.ReceiverModules[kubeletstatsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.118.0" - factories.ReceiverModules[hostmetricsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.118.0" - factories.ReceiverModules[prometheusreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.118.0" + factories.ReceiverModules[otlpreceiver.NewFactory().Type()] = "go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0" + factories.ReceiverModules[zipkinreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0" + factories.ReceiverModules[filelogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0" + factories.ReceiverModules[kubeletstatsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0" + factories.ReceiverModules[hostmetricsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0" + factories.ReceiverModules[prometheusreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0" factories.Exporters, err = exporter.MakeFactoryMap( debugexporter.NewFactory(), @@ -187,49 +187,49 @@ func components() (otelcol.Factories, error) { 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.118.0" - factories.ExporterModules[nopexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/nopexporter v0.118.0" - factories.ExporterModules[otlpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlpexporter v0.118.0" - factories.ExporterModules[otlphttpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlphttpexporter v0.118.0" - factories.ExporterModules[azureblobstorageexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/azureblobstorageexporter v0.118.0" - factories.ExporterModules[googlecloudstorageexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/googlecloudstorageexporter v0.118.0" - factories.ExporterModules[mockdestinationexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/mockdestinationexporter v0.118.0" - factories.ExporterModules[awss3exporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.118.0" - factories.ExporterModules[awsxrayexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.118.0" - factories.ExporterModules[azuredataexplorerexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.118.0" - factories.ExporterModules[azuremonitorexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.118.0" - factories.ExporterModules[carbonexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.118.0" - factories.ExporterModules[clickhouseexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.118.0" - factories.ExporterModules[cassandraexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.118.0" - factories.ExporterModules[coralogixexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.118.0" - factories.ExporterModules[datadogexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.118.0" - factories.ExporterModules[datasetexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.118.0" - factories.ExporterModules[elasticsearchexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.118.0" - factories.ExporterModules[fileexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.118.0" - factories.ExporterModules[googlecloudexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.118.0" - factories.ExporterModules[googlecloudpubsubexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.118.0" - factories.ExporterModules[googlemanagedprometheusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.118.0" - factories.ExporterModules[honeycombmarkerexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.118.0" - factories.ExporterModules[influxdbexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.118.0" - factories.ExporterModules[kafkaexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.118.0" - factories.ExporterModules[loadbalancingexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.118.0" - factories.ExporterModules[logicmonitorexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.118.0" - factories.ExporterModules[logzioexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.118.0" - factories.ExporterModules[lokiexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.118.0" - factories.ExporterModules[mezmoexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.118.0" - factories.ExporterModules[opencensusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.118.0" - factories.ExporterModules[opensearchexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.118.0" - factories.ExporterModules[prometheusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.118.0" - factories.ExporterModules[prometheusremotewriteexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.118.0" - factories.ExporterModules[pulsarexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.118.0" - factories.ExporterModules[sapmexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.118.0" - factories.ExporterModules[sentryexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.118.0" - factories.ExporterModules[signalfxexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.118.0" - factories.ExporterModules[splunkhecexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.118.0" - factories.ExporterModules[sumologicexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.118.0" - factories.ExporterModules[syslogexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.118.0" - factories.ExporterModules[tencentcloudlogserviceexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.118.0" - factories.ExporterModules[zipkinexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.118.0" + factories.ExporterModules[debugexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/debugexporter v0.119.0" + factories.ExporterModules[nopexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/nopexporter v0.119.0" + factories.ExporterModules[otlpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0" + factories.ExporterModules[otlphttpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0" + factories.ExporterModules[azureblobstorageexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/azureblobstorageexporter v0.119.0" + factories.ExporterModules[googlecloudstorageexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/googlecloudstorageexporter v0.119.0" + factories.ExporterModules[mockdestinationexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/mockdestinationexporter v0.119.0" + factories.ExporterModules[awss3exporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.119.0" + factories.ExporterModules[awsxrayexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.119.0" + factories.ExporterModules[azuredataexplorerexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.119.0" + factories.ExporterModules[azuremonitorexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.119.0" + factories.ExporterModules[carbonexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.119.0" + factories.ExporterModules[clickhouseexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.119.0" + factories.ExporterModules[cassandraexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.119.0" + factories.ExporterModules[coralogixexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.119.0" + factories.ExporterModules[datadogexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.119.0" + factories.ExporterModules[datasetexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.119.0" + factories.ExporterModules[elasticsearchexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0" + factories.ExporterModules[fileexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0" + factories.ExporterModules[googlecloudexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.119.0" + factories.ExporterModules[googlecloudpubsubexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.119.0" + factories.ExporterModules[googlemanagedprometheusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.119.0" + factories.ExporterModules[honeycombmarkerexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.119.0" + factories.ExporterModules[influxdbexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.119.0" + factories.ExporterModules[kafkaexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.119.0" + factories.ExporterModules[loadbalancingexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0" + factories.ExporterModules[logicmonitorexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.119.0" + factories.ExporterModules[logzioexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.119.0" + factories.ExporterModules[lokiexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.119.0" + factories.ExporterModules[mezmoexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.119.0" + factories.ExporterModules[opencensusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.119.0" + factories.ExporterModules[opensearchexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.119.0" + factories.ExporterModules[prometheusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.119.0" + factories.ExporterModules[prometheusremotewriteexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.119.0" + factories.ExporterModules[pulsarexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.119.0" + factories.ExporterModules[sapmexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.119.0" + factories.ExporterModules[sentryexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.119.0" + factories.ExporterModules[signalfxexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.119.0" + factories.ExporterModules[splunkhecexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.119.0" + factories.ExporterModules[sumologicexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.119.0" + factories.ExporterModules[syslogexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.119.0" + factories.ExporterModules[tencentcloudlogserviceexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.119.0" + factories.ExporterModules[zipkinexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.119.0" factories.Processors, err = processor.MakeFactoryMap( odigosresourcenameprocessor.NewFactory(), @@ -264,33 +264,33 @@ func components() (otelcol.Factories, error) { return otelcol.Factories{}, err } factories.ProcessorModules = make(map[component.Type]string, len(factories.Processors)) - factories.ProcessorModules[odigosresourcenameprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosresourcenameprocessor v0.118.0" - factories.ProcessorModules[odigossamplingprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossamplingprocessor v0.118.0" - factories.ProcessorModules[odigosconditionalattributes.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosconditionalattributes v0.118.0" - factories.ProcessorModules[odigossqldboperationprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossqldboperationprocessor v0.118.0" - factories.ProcessorModules[batchprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/batchprocessor v0.118.0" - factories.ProcessorModules[memorylimiterprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.118.0" - factories.ProcessorModules[attributesprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.118.0" - factories.ProcessorModules[cumulativetodeltaprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.118.0" - factories.ProcessorModules[deltatorateprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.118.0" - factories.ProcessorModules[filterprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.118.0" - factories.ProcessorModules[groupbyattrsprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.118.0" - factories.ProcessorModules[groupbytraceprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.118.0" - factories.ProcessorModules[k8sattributesprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.118.0" - factories.ProcessorModules[metricsgenerationprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.118.0" - factories.ProcessorModules[metricstransformprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.118.0" - factories.ProcessorModules[probabilisticsamplerprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.118.0" - factories.ProcessorModules[redactionprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.118.0" - factories.ProcessorModules[resourcedetectionprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.118.0" - factories.ProcessorModules[resourceprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.118.0" - factories.ProcessorModules[routingprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.118.0" - factories.ProcessorModules[sumologicprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.118.0" - factories.ProcessorModules[spanprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.118.0" - factories.ProcessorModules[tailsamplingprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.118.0" - factories.ProcessorModules[transformprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.118.0" - factories.ProcessorModules[remotetapprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.118.0" - factories.ProcessorModules[odigostrafficmetrics.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigostrafficmetrics v0.118.0" - factories.ProcessorModules[odigossourcesfilterprocessor.NewFactory().Type()] = "github.com/odigos-io/odigos/processor/odigossourcesfilterprocessor v0.118.0" + factories.ProcessorModules[odigosresourcenameprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosresourcenameprocessor v0.119.0" + factories.ProcessorModules[odigossamplingprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossamplingprocessor v0.119.0" + factories.ProcessorModules[odigosconditionalattributes.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosconditionalattributes v0.119.0" + factories.ProcessorModules[odigossqldboperationprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossqldboperationprocessor v0.119.0" + factories.ProcessorModules[batchprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/batchprocessor v0.119.0" + factories.ProcessorModules[memorylimiterprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0" + factories.ProcessorModules[attributesprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0" + factories.ProcessorModules[cumulativetodeltaprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.119.0" + factories.ProcessorModules[deltatorateprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.119.0" + factories.ProcessorModules[filterprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0" + factories.ProcessorModules[groupbyattrsprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.119.0" + factories.ProcessorModules[groupbytraceprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.119.0" + factories.ProcessorModules[k8sattributesprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0" + factories.ProcessorModules[metricsgenerationprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.119.0" + factories.ProcessorModules[metricstransformprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.119.0" + factories.ProcessorModules[probabilisticsamplerprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.119.0" + factories.ProcessorModules[redactionprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.119.0" + factories.ProcessorModules[resourcedetectionprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0" + factories.ProcessorModules[resourceprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0" + factories.ProcessorModules[routingprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.119.0" + factories.ProcessorModules[sumologicprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.119.0" + factories.ProcessorModules[spanprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.119.0" + factories.ProcessorModules[tailsamplingprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.119.0" + factories.ProcessorModules[transformprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0" + factories.ProcessorModules[remotetapprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.119.0" + factories.ProcessorModules[odigostrafficmetrics.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigostrafficmetrics v0.119.0" + factories.ProcessorModules[odigossourcesfilterprocessor.NewFactory().Type()] = "github.com/odigos-io/odigos/processor/odigossourcesfilterprocessor v0.119.0" factories.Connectors, err = connector.MakeFactoryMap( forwardconnector.NewFactory(), @@ -305,13 +305,13 @@ func components() (otelcol.Factories, error) { 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.118.0" - factories.ConnectorModules[countconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.118.0" - factories.ConnectorModules[datadogconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.118.0" - factories.ConnectorModules[exceptionsconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.118.0" - factories.ConnectorModules[routingconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.118.0" - factories.ConnectorModules[servicegraphconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.118.0" - factories.ConnectorModules[spanmetricsconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.118.0" + factories.ConnectorModules[forwardconnector.NewFactory().Type()] = "go.opentelemetry.io/collector/connector/forwardconnector v0.119.0" + factories.ConnectorModules[countconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.119.0" + factories.ConnectorModules[datadogconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.119.0" + factories.ConnectorModules[exceptionsconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.119.0" + factories.ConnectorModules[routingconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0" + factories.ConnectorModules[servicegraphconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.119.0" + factories.ConnectorModules[spanmetricsconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0" return factories, nil } diff --git a/collector/odigosotelcol/go.mod b/collector/odigosotelcol/go.mod index 18ef9d137d..57c91b9393 100644 --- a/collector/odigosotelcol/go.mod +++ b/collector/odigosotelcol/go.mod @@ -5,120 +5,120 @@ module odigos.io/opentelemetry-collector/cmd/odigosotelcol go 1.23.0 require ( - github.com/odigos-io/odigos/processor/odigossourcesfilterprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/azureblobstorageexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/googlecloudstorageexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/mockdestinationexporter v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosconditionalattributes v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosresourcenameprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossamplingprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossqldboperationprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigostrafficmetrics v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.118.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.118.0 + github.com/odigos-io/odigos/processor/odigossourcesfilterprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/azureblobstorageexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/googlecloudstorageexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/odigos/exporter/mockdestinationexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosconditionalattributes v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigosresourcenameprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossamplingprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigossqldboperationprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processor/odigostrafficmetrics v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0 github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/confmap/provider/envprovider v1.24.0 - go.opentelemetry.io/collector/connector v0.118.0 - go.opentelemetry.io/collector/connector/forwardconnector v0.118.0 - go.opentelemetry.io/collector/exporter v0.118.0 - go.opentelemetry.io/collector/exporter/debugexporter v0.118.0 - go.opentelemetry.io/collector/exporter/nopexporter v0.118.0 - go.opentelemetry.io/collector/exporter/otlpexporter v0.118.0 - go.opentelemetry.io/collector/exporter/otlphttpexporter v0.118.0 - go.opentelemetry.io/collector/extension v0.118.0 - go.opentelemetry.io/collector/extension/zpagesextension v0.118.0 - go.opentelemetry.io/collector/odigos/providers/odigosfileprovider v0.118.0 - go.opentelemetry.io/collector/otelcol v0.118.0 - go.opentelemetry.io/collector/processor v0.118.0 - go.opentelemetry.io/collector/processor/batchprocessor v0.118.0 - go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.118.0 - go.opentelemetry.io/collector/receiver v0.118.0 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.118.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/confmap/provider/envprovider v1.25.0 + go.opentelemetry.io/collector/connector v0.119.0 + go.opentelemetry.io/collector/connector/forwardconnector v0.119.0 + go.opentelemetry.io/collector/exporter v0.119.0 + go.opentelemetry.io/collector/exporter/debugexporter v0.119.0 + go.opentelemetry.io/collector/exporter/nopexporter v0.119.0 + go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0 + go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0 + go.opentelemetry.io/collector/extension v0.119.0 + go.opentelemetry.io/collector/extension/zpagesextension v0.119.0 + go.opentelemetry.io/collector/odigos/providers/odigosfileprovider v0.119.0 + go.opentelemetry.io/collector/otelcol v0.119.0 + go.opentelemetry.io/collector/processor v0.119.0 + go.opentelemetry.io/collector/processor/batchprocessor v0.119.0 + go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0 + go.opentelemetry.io/collector/receiver v0.119.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0 golang.org/x/sys v0.29.0 ) require ( - cloud.google.com/go v0.116.0 // indirect - cloud.google.com/go/auth v0.13.0 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.6 // indirect + cloud.google.com/go v0.118.0 // indirect + cloud.google.com/go/auth v0.14.0 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.7 // indirect cloud.google.com/go/compute/metadata v0.6.0 // indirect - cloud.google.com/go/iam v1.2.2 // indirect - cloud.google.com/go/logging v1.12.0 // indirect - cloud.google.com/go/longrunning v0.6.2 // indirect - cloud.google.com/go/monitoring v1.21.2 // indirect + cloud.google.com/go/iam v1.3.1 // indirect + cloud.google.com/go/logging v1.13.0 // indirect + cloud.google.com/go/longrunning v0.6.4 // indirect + cloud.google.com/go/monitoring v1.22.1 // indirect cloud.google.com/go/pubsub v1.45.3 // indirect cloud.google.com/go/storage v1.43.0 // indirect - cloud.google.com/go/trace v1.11.2 // indirect + cloud.google.com/go/trace v1.11.3 // indirect code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -143,13 +143,14 @@ require ( github.com/ClickHouse/ch-go v0.63.1 // indirect github.com/ClickHouse/clickhouse-go/v2 v2.30.1 // indirect github.com/Code-Hex/go-generics-cache v1.5.1 // indirect - github.com/DataDog/agent-payload/v5 v5.0.140 // indirect + github.com/DataDog/agent-payload/v5 v5.0.142 // indirect github.com/DataDog/datadog-agent/comp/core/config v0.61.0 // indirect github.com/DataDog/datadog-agent/comp/core/flare/builder v0.61.0 // indirect github.com/DataDog/datadog-agent/comp/core/flare/types v0.61.0 // indirect github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.61.0 // indirect github.com/DataDog/datadog-agent/comp/core/log/def v0.61.0 // indirect github.com/DataDog/datadog-agent/comp/core/secrets v0.61.0 // indirect + github.com/DataDog/datadog-agent/comp/core/tagger/origindetection v0.0.0-20241217122454-175edb6c74f2 // indirect github.com/DataDog/datadog-agent/comp/core/telemetry v0.61.0 // indirect github.com/DataDog/datadog-agent/comp/def v0.61.0 // indirect github.com/DataDog/datadog-agent/comp/logs/agent/config v0.61.0 // indirect @@ -181,12 +182,12 @@ require ( github.com/DataDog/datadog-agent/pkg/logs/sources v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.61.0 // indirect - github.com/DataDog/datadog-agent/pkg/obfuscate v0.61.0 // indirect - github.com/DataDog/datadog-agent/pkg/proto v0.63.0-devel // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.63.0-devel.0.20250123185937-1feb84b482c8 // indirect + github.com/DataDog/datadog-agent/pkg/proto v0.63.0-devel.0.20250123185937-1feb84b482c8 // indirect github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/status/health v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/telemetry v0.61.0 // indirect - github.com/DataDog/datadog-agent/pkg/trace v0.61.0 // indirect + github.com/DataDog/datadog-agent/pkg/trace v0.64.0-devel.0.20250129182827-bab631c10d61 // indirect github.com/DataDog/datadog-agent/pkg/util/backoff v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/util/cgroups v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/util/executable v0.61.0 // indirect @@ -194,7 +195,7 @@ require ( github.com/DataDog/datadog-agent/pkg/util/fxutil v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/util/http v0.61.0 // indirect - github.com/DataDog/datadog-agent/pkg/util/log v0.61.0 // indirect + github.com/DataDog/datadog-agent/pkg/util/log v0.63.0-devel.0.20250123185937-1feb84b482c8 // indirect github.com/DataDog/datadog-agent/pkg/util/optional v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/util/pointer v0.61.0 // indirect github.com/DataDog/datadog-agent/pkg/util/scrubber v0.61.0 // indirect @@ -207,7 +208,7 @@ require ( github.com/DataDog/datadog-api-client-go/v2 v2.34.0 // indirect github.com/DataDog/datadog-go/v5 v5.6.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.16 // indirect + github.com/DataDog/go-sqllexer v0.0.20 // 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.24.0 // indirect @@ -219,11 +220,11 @@ require ( github.com/DataDog/viper v1.14.0 // indirect github.com/DataDog/zstd v1.5.6 // indirect github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.49.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.49.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.25.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.49.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.50.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.50.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.26.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.50.0 // indirect github.com/IBM/sarama v1.45.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/Showmax/go-fqdn v1.0.0 // indirect @@ -239,31 +240,31 @@ require ( github.com/armon/go-radix v1.0.0 // indirect github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 // indirect github.com/aws/aws-sdk-go v1.55.6 // indirect - github.com/aws/aws-sdk-go-v2 v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 // indirect - github.com/aws/aws-sdk-go-v2/config v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.54 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.24 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.52 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.28 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.28 // 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.28 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.200.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.5.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.9 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.9 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.73.2 // indirect - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.24.11 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.10 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.33.9 // indirect - github.com/aws/smithy-go v1.22.1 // indirect + github.com/aws/aws-sdk-go-v2 v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.8 // indirect + github.com/aws/aws-sdk-go-v2/config v1.29.2 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.55 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.54 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.29 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.202.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.5.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.10 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.10 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.74.1 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.12 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.11 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.10 // indirect + github.com/aws/smithy-go v1.22.2 // 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/bmatcuk/doublestar/v4 v4.8.0 // indirect + github.com/bmatcuk/doublestar/v4 v4.8.1 // indirect github.com/briandowns/spinner v1.23.0 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect @@ -271,14 +272,14 @@ require ( 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-20240905190251-b4127c9b8d78 // indirect - github.com/containerd/cgroups/v3 v3.0.3 // indirect + github.com/containerd/cgroups/v3 v3.0.5 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // 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/digitalocean/godo v1.118.0 // indirect github.com/distribution/reference v0.6.0 // indirect - github.com/docker/docker v27.5.0+incompatible // indirect + github.com/docker/docker v27.5.1+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 @@ -319,23 +320,23 @@ require ( 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.4 // indirect + github.com/goccy/go-json v0.10.5 // indirect github.com/gocql/gocql v1.7.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/godbus/dbus/v5 v5.0.6 // indirect + github.com/godbus/dbus/v5 v5.1.0 // 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.1 // indirect github.com/golang-jwt/jwt/v5 v5.2.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/mock v1.6.0 // indirect + github.com/golang/mock v1.7.0-rc.1 // 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.8 // indirect + github.com/google/s2a-go v0.1.9 // indirect github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect github.com/googleapis/gax-go/v2 v2.14.1 // indirect @@ -412,6 +413,7 @@ require ( 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/userns v0.1.0 // 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 @@ -419,46 +421,47 @@ require ( 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/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.118.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.118.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.119.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 + github.com/opencontainers/runtime-spec v1.2.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/outcaste-io/ristretto v0.2.1 // indirect + github.com/outcaste-io/ristretto v0.2.3 // 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 @@ -483,7 +486,7 @@ require ( 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/secure-systems-lab/go-securesystemslib v0.7.0 // indirect + github.com/secure-systems-lab/go-securesystemslib v0.8.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.12 // indirect @@ -500,7 +503,7 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/stormcat24/protodep v0.1.8 // indirect github.com/stretchr/objx v0.5.2 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1086 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1090 // indirect github.com/tg123/go-htpasswd v1.2.3 // indirect github.com/tidwall/gjson v1.18.0 // indirect github.com/tidwall/match v1.1.1 // indirect @@ -524,75 +527,76 @@ require ( go.elastic.co/fastjson v1.4.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector v0.118.0 // indirect - go.opentelemetry.io/collector/client v1.24.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.118.0 // indirect - go.opentelemetry.io/collector/config/configauth v0.118.0 // indirect - go.opentelemetry.io/collector/config/configcompression v1.24.0 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.118.0 // indirect - go.opentelemetry.io/collector/config/confighttp v0.118.0 // indirect - go.opentelemetry.io/collector/config/confignet v1.24.0 // indirect - go.opentelemetry.io/collector/config/configopaque v1.24.0 // indirect - go.opentelemetry.io/collector/config/configretry v1.24.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/config/configtls v1.24.0 // indirect - go.opentelemetry.io/collector/connector/connectortest v0.118.0 // indirect - go.opentelemetry.io/collector/connector/xconnector v0.118.0 // indirect - go.opentelemetry.io/collector/consumer v1.24.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.118.0 // indirect - go.opentelemetry.io/collector/exporter/exportertest v0.118.0 // indirect - go.opentelemetry.io/collector/exporter/xexporter v0.118.0 // indirect - go.opentelemetry.io/collector/extension/auth v0.118.0 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.118.0 // indirect - go.opentelemetry.io/collector/extension/extensiontest v0.118.0 // indirect - go.opentelemetry.io/collector/extension/xextension v0.118.0 // indirect - go.opentelemetry.io/collector/featuregate v1.24.0 // indirect - go.opentelemetry.io/collector/filter v0.118.0 // indirect - go.opentelemetry.io/collector/internal/fanoutconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/internal/memorylimiter v0.118.0 // indirect - go.opentelemetry.io/collector/internal/sharedcomponent v0.118.0 // indirect - go.opentelemetry.io/collector/pdata v1.24.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline/xpipeline v0.118.0 // indirect - go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.118.0 // indirect - go.opentelemetry.io/collector/processor/processortest v0.118.0 // indirect - go.opentelemetry.io/collector/processor/xprocessor v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/receivertest v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 // indirect - go.opentelemetry.io/collector/scraper v0.118.0 // indirect - go.opentelemetry.io/collector/scraper/scraperhelper v0.118.0 // indirect - go.opentelemetry.io/collector/semconv v0.118.0 // indirect - go.opentelemetry.io/collector/service v0.118.0 // indirect - go.opentelemetry.io/contrib/bridges/otelzap v0.6.0 // indirect - go.opentelemetry.io/contrib/config v0.10.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.58.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect - go.opentelemetry.io/contrib/zpages v0.56.0 // indirect + go.opentelemetry.io/collector v0.119.0 // indirect + go.opentelemetry.io/collector/client v1.25.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.119.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.119.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.25.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.119.0 // indirect + go.opentelemetry.io/collector/config/confighttp v0.119.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.25.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.25.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.25.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.25.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.119.0 // indirect + go.opentelemetry.io/collector/connector/xconnector v0.119.0 // indirect + go.opentelemetry.io/collector/consumer v1.25.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/exportertest v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/xexporter v0.119.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.119.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.119.0 // indirect + go.opentelemetry.io/collector/extension/extensiontest v0.119.0 // indirect + go.opentelemetry.io/collector/extension/xextension v0.119.0 // indirect + go.opentelemetry.io/collector/featuregate v1.25.0 // indirect + go.opentelemetry.io/collector/filter v0.119.0 // indirect + go.opentelemetry.io/collector/internal/fanoutconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/internal/memorylimiter v0.119.0 // indirect + go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0 // indirect + go.opentelemetry.io/collector/pdata v1.25.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0 // indirect + go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.119.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.119.0 // indirect + go.opentelemetry.io/collector/processor/xprocessor v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/receivertest v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 // indirect + go.opentelemetry.io/collector/scraper v0.119.0 // indirect + go.opentelemetry.io/collector/scraper/scraperhelper v0.119.0 // indirect + go.opentelemetry.io/collector/semconv v0.119.0 // indirect + go.opentelemetry.io/collector/service v0.119.0 // indirect + go.opentelemetry.io/contrib/bridges/otelzap v0.9.0 // indirect + go.opentelemetry.io/contrib/config v0.14.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.34.0 // indirect + go.opentelemetry.io/contrib/zpages v0.59.0 // indirect go.opentelemetry.io/otel v1.34.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.55.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.33.0 // indirect - go.opentelemetry.io/otel/log v0.8.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.56.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.10.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.34.0 // indirect + go.opentelemetry.io/otel/log v0.10.0 // indirect go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.10.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect go.opentelemetry.io/otel/trace v1.34.0 // indirect - go.opentelemetry.io/proto/otlp v1.4.0 // indirect + go.opentelemetry.io/proto/otlp v1.5.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/dig v1.18.0 // indirect go.uber.org/fx v1.22.2 // indirect @@ -609,12 +613,12 @@ require ( golang.org/x/time v0.9.0 // indirect golang.org/x/tools v0.28.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect - google.golang.org/api v0.216.0 // indirect - google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect + google.golang.org/api v0.219.0 // indirect + google.golang.org/genproto v0.0.0-20250106144421-5f5ef82da422 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // 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 diff --git a/collector/odigosotelcol/go.sum b/collector/odigosotelcol/go.sum index daf6569616..e4556282f8 100644 --- a/collector/odigosotelcol/go.sum +++ b/collector/odigosotelcol/go.sum @@ -1,5 +1,5 @@ -cel.dev/expr v0.16.2 h1:RwRhoH17VhAu9U5CMvMhH1PDVgf0tuz9FT+24AfMLfU= -cel.dev/expr v0.16.2/go.mod h1:gXngZQMkWJoSbE8mOzehJlXQyubn/Vg0vR9/F3W7iw8= +cel.dev/expr v0.19.0 h1:lXuo+nDhpyJSpWxpPVi5cPUwzKb+dsdOiw6IreM5yt0= +cel.dev/expr v0.19.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= 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= @@ -15,12 +15,12 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV 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.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= -cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= -cloud.google.com/go/auth v0.13.0 h1:8Fu8TZy167JkW8Tj3q7dIkr2v4cndv41ouecJx0PAHs= -cloud.google.com/go/auth v0.13.0/go.mod h1:COOjD9gwfKNKz+IIduatIhYJQIc0mG3H102r/EMxX6Q= -cloud.google.com/go/auth/oauth2adapt v0.2.6 h1:V6a6XDu2lTwPZWOawrAa9HUK+DB2zfJyTuciBG5hFkU= -cloud.google.com/go/auth/oauth2adapt v0.2.6/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= +cloud.google.com/go v0.118.0 h1:tvZe1mgqRxpiVa3XlIGMiPcEUbP1gNXELgD4y/IXmeQ= +cloud.google.com/go v0.118.0/go.mod h1:zIt2pkedt/mo+DQjcT4/L3NDxzHPR29j5HcclNH+9PM= +cloud.google.com/go/auth v0.14.0 h1:A5C4dKV/Spdvxcl0ggWwWEzzP7AZMJSEIgrkngwhGYM= +cloud.google.com/go/auth v0.14.0/go.mod h1:CYsoRL1PdiDuqeQpZE0bP2pnPrGqFcOkI0nldEQis+A= +cloud.google.com/go/auth/oauth2adapt v0.2.7 h1:/Lc7xODdqcEw8IrZ9SvwnlLX6j9FHQM74z6cBk9Rw6M= +cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc= 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= @@ -31,14 +31,14 @@ cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4 cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= 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/iam v1.2.2 h1:ozUSofHUGf/F4tCNy/mu9tHLTaxZFLOUiKzjcgWHGIA= -cloud.google.com/go/iam v1.2.2/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= -cloud.google.com/go/logging v1.12.0 h1:ex1igYcGFd4S/RZWOCU51StlIEuey5bjqwH9ZYjHibk= -cloud.google.com/go/logging v1.12.0/go.mod h1:wwYBt5HlYP1InnrtYI0wtwttpVU1rifnMT7RejksUAM= -cloud.google.com/go/longrunning v0.6.2 h1:xjDfh1pQcWPEvnfjZmwjKQEcHnpz6lHjfy7Fo0MK+hc= -cloud.google.com/go/longrunning v0.6.2/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= -cloud.google.com/go/monitoring v1.21.2 h1:FChwVtClH19E7pJ+e0xUhJPGksctZNVOk2UhMmblmdU= -cloud.google.com/go/monitoring v1.21.2/go.mod h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU= +cloud.google.com/go/iam v1.3.1 h1:KFf8SaT71yYq+sQtRISn90Gyhyf4X8RGgeAVC8XGf3E= +cloud.google.com/go/iam v1.3.1/go.mod h1:3wMtuyT4NcbnYNPLMBzYRFiEfjKfJlLVLrisE7bwm34= +cloud.google.com/go/logging v1.13.0 h1:7j0HgAp0B94o1YRDqiqm26w4q1rDMH7XNRU34lJXHYc= +cloud.google.com/go/logging v1.13.0/go.mod h1:36CoKh6KA/M0PbhPKMq6/qety2DCAErbhXT62TuXALA= +cloud.google.com/go/longrunning v0.6.4 h1:3tyw9rO3E2XVXzSApn1gyEEnH2K9SynNQjMlBi3uHLg= +cloud.google.com/go/longrunning v0.6.4/go.mod h1:ttZpLCe6e7EXvn9OxpBRx7kZEB0efv8yBO6YnVMfhJs= +cloud.google.com/go/monitoring v1.22.1 h1:KQbnAC4IAH+5x3iWuPZT5iN9VXqKMzzOgqcYB6fqPDE= +cloud.google.com/go/monitoring v1.22.1/go.mod h1:AuZZXAoN0WWWfsSvET1Cpc4/1D8LXq8KRDU87fMS6XY= 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= @@ -52,8 +52,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.43.0 h1:CcxnSohZwizt4LCzQHWvBf1/kvtHUn7gk9QERXPyXFs= cloud.google.com/go/storage v1.43.0/go.mod h1:ajvxEa7WmZS1PxvKRq4bq0tFT3vMd502JwstCcYv0Q0= -cloud.google.com/go/trace v1.11.2 h1:4ZmaBdL8Ng/ajrgKqY5jfvzqMXbrDcBsUGXOT9aqTtI= -cloud.google.com/go/trace v1.11.2/go.mod h1:bn7OwXd4pd5rFuAnTrzBuoZ4ax2XQeG3qNgYmfCy0Io= +cloud.google.com/go/trace v1.11.3 h1:c+I4YFjxRQjvAhRmSsmjpASUKq88chOX854ied0K/pE= +cloud.google.com/go/trace v1.11.3/go.mod h1:pt7zCYiDSQjC9Y2oqCsh9jF4GStB/hmjrYLsxRR27q8= 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= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= @@ -125,8 +125,8 @@ github.com/ClickHouse/clickhouse-go/v2 v2.30.1 h1:Dy0n0l+cMbPXs8hFkeeWGaPKrB+MDB github.com/ClickHouse/clickhouse-go/v2 v2.30.1/go.mod h1:szk8BMoQV/NgHXZ20ZbwDyvPWmpfhRKjFkc6wzASGxM= 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.140 h1:JYsTcIKTWeidF11gtT4v+IRgL6y/XIKUc4MJWIMTgPE= -github.com/DataDog/agent-payload/v5 v5.0.140/go.mod h1:lxh9lb5xYrBXjblpIWYUi4deJqVbkIfkjwesi5nskDc= +github.com/DataDog/agent-payload/v5 v5.0.142 h1:HQA8VB2lbjdOtRMTUyH9WL7edxSG+wfLaGaCo4Z0V30= +github.com/DataDog/agent-payload/v5 v5.0.142/go.mod h1:lxh9lb5xYrBXjblpIWYUi4deJqVbkIfkjwesi5nskDc= github.com/DataDog/datadog-agent/comp/api/api/def v0.61.0 h1:gMvKuTE5aeXW7pHqx+2SOWmHvlyD0yQWHGBD3tUfvrk= github.com/DataDog/datadog-agent/comp/api/api/def v0.61.0/go.mod h1:Uhrn1RIKROBu1Cx/PieW+RRmd9G7LQM75d2BEA4bu9g= github.com/DataDog/datadog-agent/comp/core/config v0.61.0 h1:mm8N1LA52HMSw4OwwAmCNDwOANbDGdduhspmq/m5LLY= @@ -143,6 +143,8 @@ github.com/DataDog/datadog-agent/comp/core/log/mock v0.61.0 h1:u/0dAfkPoJ1bVZ1TS github.com/DataDog/datadog-agent/comp/core/log/mock v0.61.0/go.mod h1:6L9q/0ggudhRk3SpW2KTGftDmFG+2xpA64DZrYJDbLo= github.com/DataDog/datadog-agent/comp/core/secrets v0.61.0 h1:kfMGN5fiCax/WGz17g2P3TXN+O4ZZffIj7FvVYRJU3w= github.com/DataDog/datadog-agent/comp/core/secrets v0.61.0/go.mod h1:m8UNUeodIKWsBoAqLBgFis/g1NgLAsVc11gId70gGq4= +github.com/DataDog/datadog-agent/comp/core/tagger/origindetection v0.0.0-20241217122454-175edb6c74f2 h1:dnmL5gCFYwB6dJ84nq7z17c/A4XMmCyChkVIcVars5M= +github.com/DataDog/datadog-agent/comp/core/tagger/origindetection v0.0.0-20241217122454-175edb6c74f2/go.mod h1:fR7wi8IRh4M/rC4B4xbW7JE3lc2KizvGR8lsp4cf/Gk= github.com/DataDog/datadog-agent/comp/core/telemetry v0.61.0 h1:XRm+96G2uveQmRQeeCTZiwJ7LumfsiP+tXVse4i3V1w= github.com/DataDog/datadog-agent/comp/core/telemetry v0.61.0/go.mod h1:OqtdBmyPGJ3M0Kk1l+gPdOGGshUc6wT66e078q9d1MA= github.com/DataDog/datadog-agent/comp/def v0.61.0 h1:0XJNBZBw3P5Y4ndxaxwS/PZXbb+8cKSCmy+QHE8OXng= @@ -165,8 +167,8 @@ github.com/DataDog/datadog-agent/comp/trace/compression/def v0.61.0 h1:OPmk2cCWw github.com/DataDog/datadog-agent/comp/trace/compression/def v0.61.0/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.61.0 h1:0yEljJ1wF04jUgjNsIu/GZh9B0U9J/5puFOXYLPeM8o= github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.61.0/go.mod h1:PxmP25AdAoNttl2qduGev+SsWCosLgc+lDyYp+Hds10= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.61.0 h1:unNXNZQzzmbV8JCx4eASjO7L7J5zqnQKWAFXBOmlD1U= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.61.0/go.mod h1:fE8U/oDWTC00VxnN7nZYjdZmUhLqhzT0znlyEOeITcM= +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.61.0 h1:M5hhncibSM4466uViSY2pEOTSxdxeOM8VGQ+4ezcFZI= github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.61.0/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= github.com/DataDog/datadog-agent/pkg/config/env v0.61.0 h1:+dSub8UNnLmOl7YZR/7YyAgE0xNdscb86EAvW0dZqY0= @@ -211,18 +213,18 @@ github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.61.0 h1:+UjSDJiYsM2ACv github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.61.0/go.mod h1:CNXHbaYsbK6wGqlCe0oq7xPoujUvdl/GQBK1oUfxz0E= github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.61.0 h1:UurcFW+Oau4N+kzx9L+pcw+QGvpcxgfw3jt/pLC2U5w= github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.61.0/go.mod h1:CL4G7P4YqIyDmQW/otY5puTrzZwSmOG8tFxvwhu1FfE= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.61.0 h1:4V7iJhRv4xh/PVpws8B1w4e/j9OX2+uEGWPT6y13ufM= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.61.0/go.mod h1:uVvjVjH0bcYy30xq97t3UvDRrlfnLfvXujVtMaZW9sE= -github.com/DataDog/datadog-agent/pkg/proto v0.63.0-devel h1:lnVQk6rmjbEuhAHF85tLSjw8cD0pGb9ziFlcW9Kitic= -github.com/DataDog/datadog-agent/pkg/proto v0.63.0-devel/go.mod h1:f5zXowJhkfkMcLT82omBoPaDFuZ1iOQY5Eok2dusvfk= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.63.0-devel.0.20250123185937-1feb84b482c8 h1:EII6ZnnngX+F2kfyFgUmNAu3rXIKxY4eP58iFpyoWww= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.63.0-devel.0.20250123185937-1feb84b482c8/go.mod h1:I6QWxMjT4/bmoghhsRsbRViNIJgHK/5cOhxoeEj/1JE= +github.com/DataDog/datadog-agent/pkg/proto v0.63.0-devel.0.20250123185937-1feb84b482c8 h1:JGJekRSCOBFmoD4m+7OtP6ReUwIP9np07FJ56nD/F/0= +github.com/DataDog/datadog-agent/pkg/proto v0.63.0-devel.0.20250123185937-1feb84b482c8/go.mod h1:QOAaPRsuM4WNXtP3Rbw+gWamge9lGnDH8ZKB6HdzoAs= github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.61.0 h1:ojR8Cl+LJBmeRWjICN/8GVZh3rEbZPiQUBPn5rsVDCA= github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.61.0/go.mod h1:4EU+rg98uRkNrBYu/erOZ/GcUDd5rWT7oLNCA4dVlqg= github.com/DataDog/datadog-agent/pkg/status/health v0.61.0 h1:qMrc4qvum2GfZW1yRbIf9YKhH6i+y01ztkEu/f1nDSQ= github.com/DataDog/datadog-agent/pkg/status/health v0.61.0/go.mod h1:u7btrms/cuXnU5HAmEauHLXdsiVqUS9TfGGiYCwdpTs= github.com/DataDog/datadog-agent/pkg/telemetry v0.61.0 h1:5eqDN9YnIm1Y7TNzc+y3rLGIKA08tz2sqS8y3VqjAc0= github.com/DataDog/datadog-agent/pkg/telemetry v0.61.0/go.mod h1:6L8df1TdfYzCI0EGo0BPFgf4k2OJ19d2At96VbtTHgk= -github.com/DataDog/datadog-agent/pkg/trace v0.61.0 h1:ouQ638x3D3ZbuiVPN9l7ZhMLa4/0jNqIOvsgAXMNZrA= -github.com/DataDog/datadog-agent/pkg/trace v0.61.0/go.mod h1:ceoieLtu2s/ke83BBTlc2fg2aj0hmU7KEIO/8LgDLgk= +github.com/DataDog/datadog-agent/pkg/trace v0.64.0-devel.0.20250129182827-bab631c10d61 h1:vCSPUaK/NYjayQ7W/8jp7H/wk432GM1BlKNDSSYEnFQ= +github.com/DataDog/datadog-agent/pkg/trace v0.64.0-devel.0.20250129182827-bab631c10d61/go.mod h1:pJcvXfnlgmRtJbFRBFfR3ykl0w9Th9mM+ZwKakwGPMg= github.com/DataDog/datadog-agent/pkg/util/backoff v0.61.0 h1:VP1r5qulh6MwzcoWeMhOT197/QSY1t94U4MXLqnJM30= github.com/DataDog/datadog-agent/pkg/util/backoff v0.61.0/go.mod h1:7qKGHdQGovGp3EeuleYs6Fuh8/7J1cp2FEcObvw7ZZo= github.com/DataDog/datadog-agent/pkg/util/cgroups v0.61.0 h1:i2RyhdAma2TNMKoohQC+uXZvHODhBfx6VtMACFlfkgM= @@ -239,8 +241,8 @@ github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.61.0 h1:zC8NtbxGP github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.61.0/go.mod h1:zjoCgrVWUvgYw4lTN15TO9+sWXWYqKF8IL3fqxPRMCg= github.com/DataDog/datadog-agent/pkg/util/http v0.61.0 h1:SKkvCxmBFEgxESbDPSP2KSdJb6+6U47FIOnTJHNdQg8= github.com/DataDog/datadog-agent/pkg/util/http v0.61.0/go.mod h1:P9IRzibna2VRFEYkPqTIVK7Zihgw3IocNdoZUG4tjYQ= -github.com/DataDog/datadog-agent/pkg/util/log v0.61.0 h1:6HD4T+ZfERcc0hrpnYWtWlmqv6e9nWWu+x+iu0XtdYc= -github.com/DataDog/datadog-agent/pkg/util/log v0.61.0/go.mod h1:+pdYGRmjvO7JwubO3ayCsnHjpb6M50r5cwHM2CCtLeE= +github.com/DataDog/datadog-agent/pkg/util/log v0.63.0-devel.0.20250123185937-1feb84b482c8 h1:T7hc9Gb3IGi58fwBlfse8gpBWCyiOGWIjHThpbdb6xk= +github.com/DataDog/datadog-agent/pkg/util/log v0.63.0-devel.0.20250123185937-1feb84b482c8/go.mod h1:GIwaONyqp/4sVfcss+F32u+N+2PtR8llbwlkM5y8vbQ= github.com/DataDog/datadog-agent/pkg/util/log/setup v0.61.0 h1:gZBsUcdCueboYct3nhHNw/dRd6DooxkPEW02tpT41UQ= github.com/DataDog/datadog-agent/pkg/util/log/setup v0.61.0/go.mod h1:dI6IE10d66JWuqgsfZeSHdfQG9zyenbAnb/jEPTjf6k= github.com/DataDog/datadog-agent/pkg/util/optional v0.61.0 h1:vxor8ib6nyi5qRtbwNSI9XS7TvA7gTGLKAMcv55Ynno= @@ -270,8 +272,8 @@ github.com/DataDog/datadog-go/v5 v5.6.0 h1:2oCLxjF/4htd55piM75baflj/KoE6VYS7alEU github.com/DataDog/datadog-go/v5 v5.6.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= 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.16 h1:RoSUMS6MECyB3gTUIdydzXwK5NhEhv6GMJkS7ptsgRA= -github.com/DataDog/go-sqllexer v0.0.16/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/go-sqllexer v0.0.20 h1:0fBknHo42yuhawZS3GtuQSdqcwaiojWjYNT6OdsZRfI= +github.com/DataDog/go-sqllexer v0.0.20/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= @@ -296,18 +298,18 @@ github.com/DataDog/zstd v1.5.6 h1:LbEglqepa/ipmmQJUDnSsfvA8e8IStVcGaFWDuxvGOY= github.com/DataDog/zstd v1.5.6/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/opentelemetry-operations-go/detectors/gcp v1.25.0 h1:3c8yed4lgqTt+oTQ+JNMDo+F4xprBf+O/il4ZC0nRLw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.49.0 h1:rr2d5SF7ZftByIvSRcY0O3/d1CcJqCKUa2IM4w+jDO4= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.49.0/go.mod h1:KqGde6Vb234azF979c1vjkzDltsWQuXDlwH70UViMPg= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.49.0 h1:9pdyqZQ667if9lQn63Ju9yFc77iWT2TUWJ4rZjyBlV0= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.49.0/go.mod h1:oeyVbfp6YKpD7Ot1Gaf86cpTRHx3dhLtnCZr+s1c/ro= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.25.0 h1:4PoDbd/9/06IpwLGxSfvfNoEr9urvfkrN6mmJangGCg= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.25.0/go.mod h1:EycllQ1gupHbjqbcmfCr/H6FKSGSmEUONJ2ivb86qeY= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.49.0 h1:jJKWl98inONJAr/IZrdFQUWcwUO95DLY1XMD1ZIut+g= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.49.0/go.mod h1:l2fIqmwB+FKSfvn3bAD/0i+AXAxhIZjTK2svT/mgUXs= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.49.0 h1:GYUJLfvd++4DMuMhCFLgLXvFwofIxh/qOwoGuS/LTew= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.49.0/go.mod h1:wRbFgBQUVm1YXrvWKofAEmq9HNJTDphbAaJSSX01KUI= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 h1:f2Qw/Ehhimh5uO1fayV0QIW7DShEQqhtUfhYc+cBPlw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.50.0 h1:PxFbSFd3/VOEliGOPur2oKwypt8quKcr2RN1RE98OvI= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.50.0/go.mod h1:N99sGubvc1RDmpM0jjgO3CJUGt/4hPHonV467UCZf20= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.50.0 h1:wfHkUyYgGo6GKjm0c4S5HHOfy5v24OuPRMvrRFbNLsc= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.50.0/go.mod h1:LE1dUVKl1oD72NQ9cIW3+Y48Zv3sGxkseLaaWWnTx2E= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.26.0 h1:hlbfyLDl7kZnOrQ5yPRftT9OTQxpfpBfOqmf3y1uc2E= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.26.0/go.mod h1:ZZIZpUVreFujtCcXiAawLr9ex/FWz8uwAAzmFunV5dE= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.50.0 h1:nNMpRpnkWDAaqcpxMJvxa/Ud98gjbYwayJY4/9bdjiU= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.50.0/go.mod h1:SZiPHWGOOk3bl8tkevxkoiwPgsIl6CwrWcbwjfHZpdM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.50.0 h1:ig/FpDD2JofP/NExKQUbn7uOSZzJAQqogfqluZK4ed4= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.50.0/go.mod h1:otE2jQekW/PqXk1Awf5lmfokJx4uwuqcj1ab5SpGeW0= github.com/IBM/sarama v1.45.0 h1:IzeBevTn809IJ/dhNKhP5mpxEXTmELuezO2tgHD9G5E= github.com/IBM/sarama v1.45.0/go.mod h1:EEay63m8EZkeumco9TDXf2JT3uDnZsZqFgV46n4yZdY= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -363,59 +365,59 @@ github.com/aws/aws-sdk-go v1.44.263/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8 github.com/aws/aws-sdk-go v1.55.6 h1:cSg4pvZ3m8dgYcgqB97MrcdjUmZ1BeMYKUxMMB89IPk= github.com/aws/aws-sdk-go v1.55.6/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.33.0 h1:Evgm4DI9imD81V0WwD+TN4DCwjUMdc94TrduMLbgZJs= -github.com/aws/aws-sdk-go-v2 v1.33.0/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 h1:lL7IfaFzngfx0ZwUGOZdsFFnQ5uLvR0hWqqhyE7Q9M8= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7/go.mod h1:QraP0UcVlQJsmHfioCrveWOC1nbiWUl3ej08h4mXWoc= +github.com/aws/aws-sdk-go-v2 v1.34.0 h1:9iyL+cjifckRGEVpRKZP3eIxVlL06Qk1Tk13vreaVQU= +github.com/aws/aws-sdk-go-v2 v1.34.0/go.mod h1:JgstGg0JjWU1KpVJjD5H0y0yyAIpSdKEq556EI6yOOM= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.8 h1:zAxi9p3wsZMIaVCdoiQp2uZ9k1LsZvmAnoTBeZPXom0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.8/go.mod h1:3XkePX5dSaxveLAYY7nsbsZZrKxCyEuE5pM4ziFxyGg= 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.29.1 h1:JZhGawAyZ/EuJeBtbQYnaoftczcb2drR2Iq36Wgz4sQ= -github.com/aws/aws-sdk-go-v2/config v1.29.1/go.mod h1:7bR2YD5euaxBhzt2y/oDkt3uNRb6tjFp98GlTFueRwk= +github.com/aws/aws-sdk-go-v2/config v1.29.2 h1:JuIxOEPcSKpMB0J+khMjznG9LIhIBdmqNiEcPclnwqc= +github.com/aws/aws-sdk-go-v2/config v1.29.2/go.mod h1:HktTHregOZwNSM/e7WTfVSu9RCX+3eOv+6ij27PtaYs= 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.54 h1:4UmqeOqJPvdvASZWrKlhzpRahAulBfyTJQUaYy4+hEI= -github.com/aws/aws-sdk-go-v2/credentials v1.17.54/go.mod h1:RTdfo0P0hbbTxIhmQrOsC/PquBZGabEPnCaxxKRPSnI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.55 h1:CDhKnDEaGkLA5ZszV/qw5uwN5M8rbv9Cl0JRN+PRsaM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.55/go.mod h1:kPD/vj+RB5MREDUky376+zdnjZpR+WgdBBvwrmnlmKE= 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.24 h1:5grmdTdMsovn9kPZPI23Hhvp0ZyNm5cRO+IZFIYiAfw= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.24/go.mod h1:zqi7TVKTswH3Ozq28PkmBmgzG1tona7mo9G2IJg4Cis= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.52 h1:6kI83R98XOnnyzHv9g9KTYXFawMyeQq8NeEERWMAwJk= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.52/go.mod h1:Juj7unpf3CIrWpEyJZhRJ6rJl9IYX7Hd8HOlwaZq/LE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25 h1:kU7tmXNaJ07LsyN3BUgGqAmVmQtq0w6duVIHAKfp0/w= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25/go.mod h1:OiC8+OiqrURb1wrwmr/UbOVLFSWEGxjinj5C299VQdo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.54 h1:6BWOAho3Cgdy4cmNJ4HWY8VZgqODEU7Gw78XXireNZI= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.54/go.mod h1:n+t/oyYErOV3jf/GxNTVlizSM9RMV1yH7jvcIvld3Do= 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.28 h1:igORFSiH3bfq4lxKFkTSYDhJEUCYo6C8VKiWJjYwQuQ= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.28/go.mod h1:3So8EA/aAYm36L7XIvCVwLa0s5N0P7o2b1oqnx/2R4g= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29 h1:Ej0Rf3GMv50Qh4G4852j2djtoDb7AzQ7MuQeFHa3D70= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29/go.mod h1:oeNTC7PwJNoM5AznVr23wxhLnuJv0ZDe5v7w0wqIs9M= 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.28 h1:1mOW9zAUMhTSrMDssEHS/ajx8JcAj/IcftzcmNlmVLI= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.28/go.mod h1:kGlXVIWDfvt2Ox5zEaNglmq0hXPHgQFNMix33Tw22jA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29 h1:6e8a71X+9GfghragVevC5bZqvATtc3mAMgxpSNbgzF0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29/go.mod h1:c4jkZiQ+BWpNqq7VtrxjwISrLrt/VvPq3XiopkUIolI= 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.28 h1:7kpeALOUeThs2kEjlAxlADAVfxKmkYAedlpZ3kdoSJ4= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.28/go.mod h1:pyaOYEdp1MJWgtXLy6q80r3DhsVdOIOZNB9hdTcJIvI= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.200.0 h1:3hH6o7Z2WeE1twvz44Aitn6Qz8DZN3Dh5IB4Eh2xq7s= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.200.0/go.mod h1:I76S7jN0nfsYTBtuTgTsJtK2Q8yJVDgrLr5eLN64wMA= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.5.2 h1:e6um6+DWYQP1XCa+E9YVtG/9v1qk5lyAOelMOVwSyO8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.5.2/go.mod h1:dIW8puxSbYLSPv/ju0d9A3CpwXdtqvJtYKDMVmPLOWE= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 h1:Pg9URiobXy85kgFev3og2CuOZ8JZUBENF+dcgWBaYNk= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.29 h1:g9OUETuxA8i/Www5Cby0R3WSTe7ppFTZXHVLNskNS4w= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.29/go.mod h1:CQk+koLR1QeY1+vm7lqNfFii07DEderKq6T3F1L2pyc= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.202.0 h1:/kB9Uf7fgpYNLvwhAW0YiDSg7xQyxB6MbEYoC0yXtjs= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.202.0/go.mod h1:cRD0Fhzj0YD+uAh16NChQAv9/BB0S9x3YK9hLx1jb/k= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2/go.mod h1:Za3IHqTQ+yNcRHxu1OFucBh0ACZT4j4VQFF0BqpZcLY= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.5.3 h1:EP1ITDgYVPM2dL1bBBntJ7AW5yTjuWGz9XO+CZwpALU= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.5.3/go.mod h1:5lWNWeAgWenJ/BZ/CP9k9DjLbC0pjnM045WjXRPPi14= 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.12.9 h1:TQmKDyETFGiXVhZfQ/I0cCFziqqX58pi4tKJGYGFSz0= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.9/go.mod h1:HVLPK2iHQBUx7HfZeOQSEu3v2ubZaAY2YPbAm5/WUyY= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.9 h1:2aInXbh02XsbO0KobPGMNXyv2QP73VDKsWPNJARj/+4= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.9/go.mod h1:dgXS1i+HgWnYkPXqNoPIPKeUsUUYHaUbThC90aDnNiE= -github.com/aws/aws-sdk-go-v2/service/s3 v1.73.2 h1:F3h8VYq9ZLBXYurmwrT8W0SPhgCcU0q+0WZJfT1dFt0= -github.com/aws/aws-sdk-go-v2/service/s3 v1.73.2/go.mod h1:jGJ/v7FIi7Ys9t54tmEFnrxuaWeJLpwNgKp2DXAVhOU= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.6 h1:T0de0qF54Pz6bHQ6vneVuppG+ag1GC9x2FWVvN7WQZk= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.6/go.mod h1:xhlurTl19sqUqQceQdrQ9sNCgPBCBrlGWrzS/0GFwhY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.10 h1:hN4yJBGswmFTOVYqmbz1GBs9ZMtQe8SrYxPwrkrlRv8= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.10/go.mod h1:TsxON4fEZXyrKY+D+3d2gSTyJkGORexIYab9PTf56DA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.10 h1:fXoWC2gi7tdJYNTPnnlSGzEVwewUchOi8xVq/dkg8Qs= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.10/go.mod h1:cvzBApD5dVazHU8C2rbBQzzzsKc8m5+wNJ9mCRZLKPc= +github.com/aws/aws-sdk-go-v2/service/s3 v1.74.1 h1:9LawY3cDJ3HE+v2GMd5SOkNLDwgN4K7TsCjyVBYu/L4= +github.com/aws/aws-sdk-go-v2/service/s3 v1.74.1/go.mod h1:hHnELVnIHltd8EOF3YzahVX6F6y2C6dNqpRj1IMkS5I= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.7 h1:K60+ojzkvi7jU7yRCtpgm1Gx5D/E7qrKgAQR9EqhrNw= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.7/go.mod h1:bX7qK97+Qvod+LUaU029kI1oYp5FLPom8warSCcXxc8= 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.24.11 h1:kuIyu4fTT38Kj7YCC7ouNbVZSSpqkZ+LzIfhCr6Dg+I= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.11/go.mod h1:Ro744S4fKiCCuZECXgOi760TiYylUM8ZBf6OGiZzJtY= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.12 h1:kznaW4f81mNMlREkU9w3jUuJvU5g/KsqDV43ab7Rp6s= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.12/go.mod h1:bZy9r8e0/s0P7BSDHgMLXK2KvdyRRBIQ2blKlvLt0IU= 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.28.10 h1:l+dgv/64iVlQ3WsBbnn+JSbkj01jIi+SM0wYsj3y/hY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.10/go.mod h1:Fzsj6lZEb8AkTE5S68OhcbBqeWPsR8RnGuKPr8Todl8= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.11 h1:mUwIpAvILeKFnRx4h1dEgGEFGuV8KJ3pEScZWVFYuZA= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.11/go.mod h1:JDJtD+b8HNVv71axz8+S5492KM8wTzHRFpMKQbPlYxw= 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.33.9 h1:BRVDbewN6VZcwr+FBOszDKvYeXY1kJ+GGMCcpghlw0U= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.9/go.mod h1:f6vjfZER1M17Fokn0IzssOTMT2N8ZSq+7jnNF0tArvw= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.10 h1:g9d+TOsu3ac7SgmY2dUf1qMgu/uJVTlQ4VCbH6hRxSw= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.10/go.mod h1:WZfNmntu92HO44MVZAubQaz3qCuIdeOdog2sADfU6hU= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= -github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= +github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= 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= @@ -429,8 +431,8 @@ github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYE 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/bmatcuk/doublestar/v4 v4.8.0 h1:DSXtrypQddoug1459viM9X9D3dp1Z7993fw36I2kNcQ= -github.com/bmatcuk/doublestar/v4 v4.8.0/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.8.1 h1:54Bopc5c2cAvhLRAzqOGCYHYyhcDHsFF4wWIR5wKP38= +github.com/bmatcuk/doublestar/v4 v4.8.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/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A= @@ -458,8 +460,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/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI= github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/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/cgroups/v3 v3.0.5 h1:44na7Ud+VwyE7LIoJ8JTNQOa549a8543BmzaJHo6Bzo= +github.com/containerd/cgroups/v3 v3.0.5/go.mod h1:SA5DLYnXO8pTGYiAHXz94qvLQTKfVM5GEVisn4jpins= 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= @@ -499,8 +501,8 @@ github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5Qvfr 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.5.0+incompatible h1:um++2NcQtGRTz5eEgO6aJimo6/JxrTXC941hd05JO6U= -github.com/docker/docker v27.5.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.5.1+incompatible h1:4PYU5dnBYqRQi0294d1FBECqT9ECWeQAIfE8q4YnPY8= +github.com/docker/docker v27.5.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= @@ -639,15 +641,15 @@ 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.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM= -github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= 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/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/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= +github.com/godbus/dbus/v5 v5.1.0/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= @@ -677,8 +679,9 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt 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.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/mock v1.7.0-rc.1 h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U= +github.com/golang/mock v1.7.0-rc.1/go.mod h1:s42URUywIqd+OcERslBJvOjepvNymP31m3q8d/GkuRs= 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= @@ -743,8 +746,8 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf 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/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= +github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= 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.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -1071,232 +1074,234 @@ github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= 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/opentelemetry-collector-contrib/connector/countconnector v0.118.0 h1:ZApYkbwUbMXusZzxUNO3/aM2W8JGwgzzH0qdpB+pRV8= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.118.0/go.mod h1:KOFbbwKrlkZ9g1oZp9YrEbLbKrNGYBc2LZFZD2JGO8Y= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.118.0 h1:i6EXJvoGNOrYvmYbOgJu2FRurpMg1eS/lP6nkEOwKM8= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.118.0/go.mod h1:I96MagdAxY3SNR8PZWSiKMp4s8EfutqmhJVpQ3x4dLk= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.118.0 h1:m9UqAqJ6sUPlOQQnttgVn29ZEmuAUwLGCgHbkTAPAC8= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.118.0/go.mod h1:tdHtyQiwsWlDMqlcE2+oPbVC6tvvrXEe8Oqj7eg2G5k= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.118.0 h1:rgCjwhoBxE7ElStPeREdQPJmQSqL0fUwbJY74wA2G+M= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.118.0/go.mod h1:bD4ARsuDxfqEGQWpPHB2XWFEE769bDlYJOYaUgfmcg4= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.118.0 h1:d54ouFAQsI/qdFIq2ATvMsWtOXR4tYv7DWr0NVQhsbo= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.118.0/go.mod h1:VXU7H8cF8ZpISps8JUdhb3W/ZjsEOKANaY8SZJiSkXo= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.118.0 h1:X0RNsPCvo+VCQNaxFL+3Zj+13/It8aY6yRmBSLcGy1c= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.118.0/go.mod h1:ZZzyaYuuQVUA/STahm8GOJqXRPFrB9KxT7jY7EakDXA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.118.0 h1:onPWhc4sgzdYFJa1RLVw6fGgf+c/rzU0XszjmLhaqkw= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.118.0/go.mod h1://W1J2ZDpaE0XSI+vRtruiEBh2Jr6FzKgw+adM0rrr4= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.118.0 h1:czF3Wu77A9YOJEeOZ98aq9fnMv3rI/a+r606HcTAf8Q= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.118.0/go.mod h1:detShU56yjWfCJ9Z7h1+YW3oFu76leAoNVhXx/wlHqg= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.118.0 h1:Q1Ww3RMGDuGzsYDG6oeEOxflIXU6TMEiDZqgnNX5580= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.118.0/go.mod h1:pey11VzBoQEOWyquxdO3DH5AXfl+h49tmS6WKxHu0/Q= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.118.0 h1:zMxdqs4Hx4pDIj8hK9B529Z7AR7ge8HEQrmEaQLbzW0= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.118.0/go.mod h1:qrNqpSodpf1aq9JtN/9nFyn+DKBAqeq81z5uSa2wk8Y= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.118.0 h1:lOm9kdLj2g/7v2VE/MdIZKpgYbnPgX3cBOdAUm+8Ulo= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.118.0/go.mod h1:ky14gD4IGrRjocvajWILaJDNvk79JLP7Ld0X4qLj33Q= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.118.0 h1:f0R0vGDhlnIz5SNRbqNQDUm0FiX8xZFe7L/eo897Tf8= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.118.0/go.mod h1:g5gWRV38sumnBa37uIhm1jdJmEWSO/KLuEz5VBbb3rQ= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.118.0 h1:bhuGiU64BbKHHrc8jr1IUAvHe/8ldqb/22abDyokoUo= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.118.0/go.mod h1:I5kvPAbbbphZZB7XbwmGeTrrsn3urkmdAf7iPLklUco= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.118.0 h1:fSSVjnoWHxqr0rUiR2mYwY1P9YgGoTw/aNY0AYGN1GU= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.118.0/go.mod h1:/TyjN9UN316AkqJpRY9sFpjEajbwcTglIe8h2xvNSTw= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.118.0 h1:AsPP531/BHxHh0SD73ij1Lg+prrGn2RTVXWdtf0d0YI= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.118.0/go.mod h1:NKFEb3yh4hZBTi1BQM5Sn7n/UiIVBZForHHqjtJBH5U= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.118.0 h1:WSvdC29MNUKy6ObaqK8xTS1OdCpMu1viQs9bKoEX1S8= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.118.0/go.mod h1:5X+GPNiSqXszTXGFLXEYpVl1L+hpCPn3Ibp3TzEzRQk= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.118.0 h1:iFYdYPNUkGrSSqdeKB/F6v9WgIGR44RuKTzVi+lutMM= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.118.0/go.mod h1:bxoNXfsXSXxsW1+/lw87VJZGbyl3YIVHeABqlK0XAew= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.118.0 h1:+Gz6fS3RaBnDc+LlYtFx9qTd8pBaWuhZXE472tIufwI= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.118.0/go.mod h1:DdBqZpkmqdIiJD4fU9yMOJ1kT287/3isM+z4y7vTqb4= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.118.0 h1:NTw/0BO81ZlBy28ZOEElrN11mtgYs9RbLMrF35S9iGE= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.118.0/go.mod h1:oCkQIlzyL4mSDDA5Ng6v8Yfa0aDLU296IEQ54JaFqrY= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.118.0 h1:INl/qFL8zYBbSvRIEiJuctLXJwK4XVWNrzr+gmCQq7w= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.118.0/go.mod h1:qM/6enwAQyQieg/IWdXyP4MOilpXal0FwRAJ8d35YKo= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.118.0 h1:qAcXQ1g5bN0ftLFX1gf7/No31lQoxLyFc4j//QpydTY= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.118.0/go.mod h1:dCK1272IIiiSG8o3pcRliYWE2aW+jr1M/Jdk8rWutDk= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.118.0 h1:uHKzciPPzvwF8ibxo+rqh8brzuPoiBE20Ltuv9P1laQ= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.118.0/go.mod h1:5RWfwrtvZy/1DqvOMUhd9N0kXsvEvYHTJ7qN5LJaKEc= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.118.0 h1:vVrHVicGYrh5+696qH5orgOLvmROCFPEVnR6THXzdS8= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.118.0/go.mod h1:FkGp25BcA7K5B+6S3qV3OiUubtassWkccvBt6fYSeH4= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.118.0 h1:GKIdx0Ug1IpcBiOA28BvCxZo4GIGsQR1dW6Id3aFYVE= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.118.0/go.mod h1:Ya3cB0ep9+pSkPD6W6lB1xaUVBicQt3xVyITKBjd3sw= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.118.0 h1:VB8BPjYIwYT7GOpsthrqOGuy9ru/cyjePzpD0lzDzIs= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.118.0/go.mod h1:XvJtfGrOd8bZWn2AJ5pNiZb2eSB6lUxnc+vjlPiLC2E= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.118.0 h1:msqtwTEWzslaSJzWg7tJUH5EEIYbyjF9i0BWqx2vrpM= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.118.0/go.mod h1:OO6aXQHiLSF9YqGNkXVMZww23C5J4sBP/FXi90NztM0= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.118.0 h1:s5mGghaUtbA/ECmvYb+H9Tr5uePgoGkRr/wIEoPTV6g= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.118.0/go.mod h1:yNCibEirE+74aYbGSF4TiF8as4ub3sHzQfwmfURqqqk= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.118.0 h1:zQSlCA9Rwrx1KW+/+1EfEgVvCjlfQ10rcSJ8+JvVDiA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.118.0/go.mod h1:l55qZBOvbxNhg7LfVNeD2qyAAua/ruUyaNkrfkI6eds= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.118.0 h1:P9UIaFRpkcuIoE9BYC+vdbiC1N/evqlC+56Yi373vPs= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.118.0/go.mod h1:WtpQgifR7LiihAWOPTiNaBKIstjNifnDdMJ+Hl5AnPc= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.118.0 h1:XRcj+GpG/+igE4U4By9CvAM34ZdwPdbPway7vEA9AIA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.118.0/go.mod h1:nnJ5guoHAZysVII22+qcwbDSmewyKVswm+XLDdM3Q5Y= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.118.0 h1:JL+iSvb0+ATqOhI4Rdxq5S33EVs5VXLdo+FiGe/T9+c= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.118.0/go.mod h1:b9yUuIRcOjr2qVNXFtd7xwcoGltl31gAUATcYGODGug= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.118.0 h1:6kRNGoY0sr3O7pVNu2jre+Lge5AsOTQneONRpSOc5UU= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.118.0/go.mod h1:SWz+S+h0kxcWnh1YON8O75sPJNA6BSOpmsxss9M7bGI= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.118.0 h1:zHA9n518dSAz2VKqqn30upcZQL6ll9lrK1jCRnBHmhc= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.118.0/go.mod h1:9KW4qWtwCvpWmZYczNkwCwT7nI2Nat6IemDX5w/fTdI= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.118.0 h1:lXjmPqN54LZYV+OxyQaNq6Dj1Ovue/H9/yR8b89SkPI= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.118.0/go.mod h1:ARhyOvo3+8LL6H0gGLFUO+OH33rL2f4YnfWJI++NdYI= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.118.0 h1:3ppMguebAQUpaf7vy8fbgnPNBTXRMUPzMy1qvzkG8lw= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.118.0/go.mod h1:zhFt+3GJXpvmSlNp8XnnR4kIIgsKfTBIlLXoH1SPMHY= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.118.0 h1:MMYbRu9amsQA5zu8djpfcgBh99MpZLxd34iZczjtkwA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.118.0/go.mod h1:h5ov3XWRxArxzk5M8kBpinC7Z3jIVshQY+Gup+qVOgA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.118.0 h1:ml1G+WzE8RR9DbnODGBzYWzuajDj4Se2D+UC23T2ip4= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.118.0/go.mod h1:5GtCdm9vK2EW7dKaPZHZkmC43gErJZ5yZFTQrMYbnlc= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.118.0 h1:rhc4NLMsakb4YCgki1HTzfxDswc+WZE7kK7TXG814DM= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.118.0/go.mod h1:4SswyJlrZBWFg0X5X15CgHgPQx2MVmSK3WTApV2VDzA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.118.0 h1:i0AQqyVKXhB1hT9R9gOUyMkoHiDOvpEolXHtdVkTo4s= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.118.0/go.mod h1:23UelUj/+U6WOrGTPsAzJp6ohajk8dDUBAgCQdNvrPk= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.118.0 h1:m7HZIxYqOw8KPZC1ze6722uDbxGnLJHHmkOpuI9vfQs= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.118.0/go.mod h1:WQR4tmBA39DNwhIZFNj2PmVGs2iaulascVNegDZdhtE= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.118.0 h1:L3nLNThiwb5sESHQTWK8nfwhclZkCBKtTvNL26X2A0A= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.118.0/go.mod h1:DI93eoQ4zEVtRfBvWugm8akXpxdIhExJDrAYG6sSp7Q= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.118.0 h1:2nY0HZ2mvPhTIcC3qNcZdAvjgurGA+h09As42iQdgW8= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.118.0/go.mod h1:nEVT4t0anoejKqdFIznHJ/nOWwxnu2HCi4c+OeVE6T4= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.118.0 h1:eUQRSn3xvFuf4+xdrl4KjwrZoX/9FUSWLsHAKUOdmR0= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.118.0/go.mod h1:/3krBm/kclLdMz1Hk+ZYHx6kC8v/9SnGulg64uWcdFU= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.118.0 h1:T2fLgsTwY+JQ617BeKMgjdIQv2+TOdZ/xVmEyOTxfJY= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.118.0/go.mod h1:F2xCwH8jCVDPSfVPr9ufdT3U7jXgJ51xP6J2dsUSmAY= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.118.0 h1:menfupEancURMvixTcm1/0YjnJY8vEkTaIb2kW38Exk= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.118.0/go.mod h1:AliqOt9jU5u2jV+9+uQCE/8gDfhLw+IY3LQgPZW+d6k= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.118.0 h1:HKPTwhA+GNlsBpIR77DH1gwbzL2thOv/+rZzEZ27Sdk= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.118.0/go.mod h1:MchgZvCCgNc9sXj52bvrjQQxS71UaZ0HcikwUDuGwFg= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.118.0 h1:KlIEiJprSJYUvc2XxXCu0uXM0/T/IbTKcyugEcjmnm4= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.118.0/go.mod h1:oE1OPZITVJobOfQBHokvUlCm4BILngcmba1jkKhBcKs= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.118.0 h1:uWMYM1UrkVGBlWDZP5DxrjVvGfKM3RUaEwSeBNaW8aU= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.118.0/go.mod h1:cBXc0E/8KWMwd5CZfg2PrOeSRzeE9+uL/P02ZV86fV0= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.118.0 h1:QHKmssgic6zf39mt0xyJ/FIZ8wTkKY2kWyN6TxV8jxw= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.118.0/go.mod h1:Dr+J6SsDlfodti2mFCPtCg7dJk0iq8+YmFrUUEfGVrU= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.118.0 h1:aOwaGk7aKjfzZm3NCZbN+UnZCzGeVQ2q3BiekNN5YJE= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.118.0/go.mod h1:cN2XY980uuIPD1ZOyjDbMzxWLoHBufZqRKWeEx/LugU= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.118.0 h1:xRe7n6OGxrjAkSycWEHSRXlSO9gN8dHoRHC8mrNEqsU= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.118.0/go.mod h1:6Lrr+9tQ1/cBVpMhccQ43CgUmy9YYbsu/yssNIZJxjM= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.118.0 h1:MfTOWZTPNA1hW+7tA+X9Y08MNBuGiHp0uLjcVSvSTLs= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.118.0/go.mod h1:pQ1QSCaChErLo59nmR0swgwf3smOu7fBjgESF4bNJnQ= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.118.0 h1:W6maz9dZiAYO3WWFMy41GoX2tzx7EPiLGiykNkiAOMI= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.118.0/go.mod h1:WmS8hAnghKAR5UGYC/sww46mKkBO4RxAqkn8K0i+ZU4= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.118.0 h1:Xnwd0QEyBg6iNPUbc3CnHIb0hVjfTc+jHdFbA9VSa7k= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.118.0/go.mod h1:rmqCuNFMNBUxgyufeU8rpVYOWau8ubr0gmSO1u+R5Hk= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.118.0 h1:ID+tXs48HrBgG8FqRbBxTBTssybnBc7M7+dcY4dD5Bg= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.118.0/go.mod h1:VHzkkLUJmRxbIYdbIv/8ZkaDmpMNbtJydMgbEp61GrE= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.118.0 h1:PbknCwTbeTz8GNSfN4fOIp50YCDO19s1IAp6PGFcdpA= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.118.0/go.mod h1:cOY+YDFtxJH3eQzJDObvWFFSIvD2AstG5MZ9t8wqusQ= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.118.0 h1:cRDOmJfEOm7G369Lw47k03NIg1qY6HtO9XTwfYRLBw4= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.118.0/go.mod h1:KPphlnKqOx44kbEks3VjqQstD/892osXDVN1kn53wWE= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.118.0 h1:94Xf/jV2ewqnVRA/CUKvNKZ5p3+mEtrMcPE1Xw9lk18= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.118.0/go.mod h1:GhC+Pk3PbAIq52vmYr+d6PN4Hnxyp4lGQMbomI7Bom8= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest v0.118.0 h1:zzv0uQqa3UZ7Axiad2yVDCdPCzUMKDWLbKjRzkq7KXY= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest v0.118.0/go.mod h1:TgVgtImN3q4BNxLMWz6xLwk//UKShVerrZ4R2rGxOPo= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.118.0 h1:ydifxzu9jPr0tW80f9QIOLgjmR7qCFQD33pLWqXO6ss= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.118.0/go.mod h1:/ijU34n3G4qMoiZIOUS6nYo6XrretVkcHXx9LKyUm+o= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.118.0 h1:27C9FUe40Ci5/n6cRPxM0x76qvcDX+0hHUuORkZtbvA= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.118.0/go.mod h1:jrldBnzZVWPbP8leAwKseENmfLuE+g4KgXU5JKNoPng= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.118.0 h1:OnZwsQGs3DKeZbyLWNZY1J2xKthKkg4Myb0OP9YN7/U= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.118.0/go.mod h1:6wbKIFyIVjtzzHEFUSvk6bKBLPEwwdVqY86N6MYVsPw= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.118.0 h1:nzm0/xJEzIWKydgsubNipphuYabJPF3dXc4I6g0dR2M= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.118.0/go.mod h1:jORSreOnfMNkLI3KgHVRCFaj/D8gMvgUAQXzXnPf858= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.118.0 h1:dPYcq0NyUpXeJGejLvNAMZ+iaQGx0UCmNwnnn60D/Oc= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.118.0/go.mod h1:RYz6Pcxqia18V98XqWXWqXB/Qejn7vgK5PoWgMv7DwM= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.118.0 h1:p/DhBHfynUpu6jO4G2zsKlPaeXnWcqdMHMZTc0JY7PQ= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.118.0/go.mod h1:uAVNa10cWbfJsWpf73NyVi93AIR9Kk/+ygXHKKXoWt8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.118.0 h1:jShgD4zzFxDAWXuk+5kiDuNxLc9222s4qUSISIybJo4= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.118.0/go.mod h1:QV0JiEz23p+0jDeAA4IfmX9/nAhGPrn9ZEnFKqS8r7w= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.118.0 h1:qWFugbYl7CYQ1nTRmr+AWK9UsALLCYkno7XK8g0jPpg= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.118.0/go.mod h1:gTwTRGOfFmIZhj75yqp8WVXJeTJoF5mypr19LlGRewg= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.118.0 h1:4IvL4o5uOf1PspPgjgcrxfPkyZQbgJP6VsyUi5KuSdM= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.118.0/go.mod h1:9cP+bHuftqoYmNDd8LrJ3YTzQl8S1T+qQxSeOIdLM+g= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.118.0 h1:vuPvyNTWyqJVp4hJ/Gr1i5Gqd89lFaaOjXtsVlLUlfs= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.118.0/go.mod h1:rv8ynKZtox4Lahm+1eG8zyyAsARoKiM0TZNqlMwDfE8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0 h1:Pho1MwH+cvosN6pOinGhunBwAJyyAwFnbIW5x7N/37A= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0/go.mod h1:IMy3f4XjwIu+PZF9Qq5T6WZ/+mOL9l+SFjPYEQuWZh8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.118.0 h1:uAJjZmS275VjGDZvg4LfLk+vrsd08iMwre048+B4eFw= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.118.0/go.mod h1:1q/L2R/28emNCz0EHfxEw853I6lPxTcHTqS+UrMea0k= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.118.0 h1:8pBuMvrFhU7YLJn1uhuuv5uLz0cJUyzusFtNA//fvFI= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.118.0/go.mod h1:pPjJ7ITPSA68VT7cGK9UIJkGsvfjIJV8cjB8cnnsKr8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0 h1:DSoYrOjLv23HXpx72hl61br4ZZTj6dqtwZSGoypKWIA= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0/go.mod h1:nR+r7aAbsktscJk4fGmzljblbZBMaiZcIWeKbXV+HmY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 h1:aUTSkzJExtrlHN32g8hX/cRNEo2ZmucPg+vwPqOYvhg= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0/go.mod h1:a3sewj4nEozMwcNwZTHPzddS+1BnA6BaAkO/CRIGHVU= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.118.0 h1:WnOBLIbdKDdtLCmpedY35QIkCOb2yW+BxydQMEIv2Xc= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.118.0/go.mod h1:QNv8LB5TzLUHB4p413mrtLryozBRNHKwIlY2R6UirrQ= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.118.0 h1:zEdd1JoVEBX7Lmf/wjs+45p4rR5+HvT2iF5VcoOgK1g= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.118.0/go.mod h1:WE5ientZ87x3cySOh4D/uVUwxK82DMyCkLBJ43+ehDU= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.118.0 h1:iuQWJbTtl3A/wgG7Zl/mWpcBQASXeJiWWblSfu1qSQ8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.118.0/go.mod h1:JKBSWs4Wo3B2172g6/Hcar31GM8EvlJK2lbAqElpkT0= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.118.0 h1:cNxDWIo5FNwVCEJ0OkYZG7L2FSiIoH7ASUnhjw5+yaA= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.118.0/go.mod h1:wGuwhjwdA3Sqw0gLBebku6vJ8NHqWhv8mDEOaxFsKTQ= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.118.0 h1:TT2yBEekzKsmC9Caf20yDCijKC3t+YlSA0J1rbjYWaQ= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.118.0/go.mod h1:cyH61RXVfqG5UK+UcjDGfy+KBrCeXNhWb1RT3cVCiZs= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.118.0 h1:iCkInN6po+WATcDQ+fSqBRCMALgLshgIwNhwO3xioBA= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.118.0/go.mod h1:MTO5isJUZBQ+h1WRaHnLJA2UZmAVjwG5U8CqohWPdyI= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.118.0 h1:ycH2OpswYo9KWsZv7i7zaI8QQUTVZZssAC48cwThZ88= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.118.0/go.mod h1:VkFMDbe3yp1xEzLyyHhQ5SZzWFXxgzuw38SdLzEet+A= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.118.0 h1:ZellmKscolOE6l5R8Cf4ndjSvXzA6sx4ItmbviMBWSQ= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.118.0/go.mod h1:jQKwQo7XgAUXnibEA4bq+RngO43owGFBXRqbbP50i+Y= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.118.0 h1:2bouUJ4jhxXhOHlJdV7VkCMNLFBXqcrNOCJvTbt7RjE= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.118.0/go.mod h1:U0toY8IlyiYci01k+ZgeG7Pb742Ral9MTvco9MPOJ3c= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.118.0 h1:Ef0H9eY8EtZ6yqZvbyEFiE5ElQNLiADYo2KVdR7a3jU= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.118.0/go.mod h1:VqUc4LGE97Qh8RddrA7+fkd4OAzhhkQ59/oE0q3TfqI= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.118.0 h1:Hj5+sK/NK5lKY6aq+d19GrFE0upk22NCWoJFPQSGA8M= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.118.0/go.mod h1:6TXkJ9mQArydxXiL6Da2VM4iEyhpcGAGI43BW/SCGgo= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.118.0 h1:rcF1K6gDvX8lSXYnglnSYIlyW9wL98A95XABxvHWoaY= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.118.0/go.mod h1:JjCx8GAMR29DytUD0osPum9bXyf5iobMBTmjUlo/JCk= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.118.0 h1:vyxJbOr4/Ex5kwcI2D+WD1+TZADgo76epatyyy63wo0= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.118.0/go.mod h1:xnZW9SIvGgP1wWCHescIriwqlIKPGeF2XCtAUthd1A0= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.118.0 h1:D/67TEByWyRExhiV0Ihr5DZCh6WsCpaFMUaaPeyP6c8= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.118.0/go.mod h1:qYuRkOOo0OXWAFb2YGyL+UQkyrypds9cMW+q7+dTUJM= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.118.0 h1:hoX1aUlZdrC5Y4AVWONPAFhq/UOMLL4tGGOrMDANrbw= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.118.0/go.mod h1:D3hu4pM6NK9Ouot8cPtsDxh6EcA/g1qOFEIOy8iOnKI= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.118.0 h1:T69ugnxL3NS8lXg1FbwPbweDtBDjqKuypJ2cSfjxCPY= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.118.0/go.mod h1:PA3AUH9mJOxTvi07s4NPSgkAMkKDtLTzzJgMToo8sog= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.118.0 h1:5ElmjGrphFCpidyucBTINYX5lZXCpJiFo0csZBGJS/k= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.118.0/go.mod h1:uUIOPbmhZNUXPo8tWn++5f/LR70hx4deGtVUkWlkBMM= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.118.0 h1:KSCzmh/i8EmxGd7fnj7IaY3efGZ88HyOn4nTsaUH1hs= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.118.0/go.mod h1:a7N+xIkFNvnrWjWyXoxmk9WrVGPEQxryaSU0FkiGEl0= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.118.0 h1:DyhsPf6xmvTB+aIc53koO2d9fyyq7PbSOc46psh0CWY= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.118.0/go.mod h1:8lXjHmIt7HlZvBH5bvQdaTrfesAzdVSeGRA8b2WZ2BQ= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.118.0 h1:pC1e5BvBf8rjwGb56MiTUFEDHU2LSclaqRNUs3z9Snw= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.118.0/go.mod h1:wZTrQ0XWb1A9XBhl1WmUKLPfqNjERKFYWT5WER70gLg= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.118.0 h1:CCNDsiYP05d+HaZAf9mmEyRy5JFSEFFxSwmjVjZM9Yw= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.118.0/go.mod h1:kxidBYs04ufras0m173yLcV+ndMQ4DAGFcBfiYxc7HU= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.118.0 h1:JuqU0ZifBM87a6Zm6393GnzSu0MgnPwNNER6y2NhGPY= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.118.0/go.mod h1:8PCH4wdM1xnDSG8k2hCCDVBloM/NmDShNtr7xaKKM08= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.118.0 h1:oNVf6dfJAy46JPwogw98YSGrQm30qdtrdQVoJswgLAE= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.118.0/go.mod h1:TXA8gBGYuK9NJeAJVdFaxQ/3DElUExT7kMQHiNqKWfY= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.118.0 h1:p0WId+SoJIm3RMidEqsXqZ86u6+815I8AnCXQHgV27Q= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.118.0/go.mod h1:J103TDmU+aY8mMbYMuvAZWRugt4crQlmvVOg97eZckY= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.118.0 h1:aTWOuC42eWr6Z/unoHiV1oQwZ27F5sszygoLE5p45CI= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.118.0/go.mod h1:YerB7SYBjfS0j1zpfg7EHezUHKn9o5L5YlWG8U2uYdg= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.118.0 h1:FeuA6WtwfYskdlOcObQejkVcq1KV52DekrsWrB2xoho= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.118.0/go.mod h1:7f2OpY4Ir72hrPg+ElDYaxo8VMM2ttou4jC2+zsCQg8= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.118.0 h1:p/7XJAU4kVS1j+TFS88mvJNlZp6amDNAG06YISTNNV4= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.118.0/go.mod h1:DbEd9omp65Hs9EqnRiCBrNUxLUwdlL1VhvPVkuBPHaY= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.118.0 h1:vOVsKrrRjfOYSvOu3Qv7MIHUZSVL93tnHETBU+GGxsI= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.118.0/go.mod h1:NxqPda5zVnG8RiCgff0L2EfdIflsC/wkRTLNdlYgN/E= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.118.0 h1:ZeOm/Hf/zCcpqIa6zbZ80uy1W0/HR/ib18rTj7cuQ4I= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.118.0/go.mod h1:0WO9Sxt9rPjfe88wnP4SL/M09nohh3H9NX634fem0b0= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.118.0 h1:vyYrEVeygmoimh5FDL+YwhBoub7IYb+wQa/BfgOkLXU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.118.0/go.mod h1:lZlx2GdpBxfVM+uTP7qThxcbvLU1/SNBcRojg5KmQV8= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.118.0 h1:j/961n8IAbqdw6NoWrnJLTADnLzH3txAZhMocaUi+3o= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.118.0/go.mod h1:6LGm+uv2Hv0D9OCJ/7d5+2h+he/8YbQT7lV3rFrUskA= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.118.0 h1:zHRXkCwg0/Mz0tnb15T3sltANwMzQyJyDDnYor2is2c= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.118.0/go.mod h1:zu2HyeyHz5WG1ssJSRCsHggM06IAaEDsm0eGFFedKpQ= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.118.0 h1:e8OEOvJYhQnuvptP9n8SSYg1IMgNOS6hdlqcfIwKvuk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.118.0/go.mod h1:tjPCkKriInHpjeLmMx1MN2njHUnIT/936bFzAQ54XwY= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.118.0 h1:xBhG84x+FIlIuaeFFRa4GB6tEBpUsyXCdj00EFobjlc= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.118.0/go.mod h1:QuTB8IztxTZt2YZUPB6q9yZk2H0Wm5bQP1ap6D2LNdU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.118.0 h1:ZKedpw3/P2iAW1mkPij/AP0q4bSY/3BjH5k6K50wgmk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.118.0/go.mod h1:Vx5ZkbyLKL01R44rHNn6FwdVrY7x4LxLMi8f1Zmxk1g= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.118.0 h1:hdq0EDq6gCjOWl0RfXhAcSepB52QHx7us+UcUYTbWpg= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.118.0/go.mod h1:9kAczl5meDgn9zlLJJre8Q/4U43cqh9aAy3kCm/rJlk= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.119.0 h1:Zo4yD6JrMh8B3lOAVC4P3i9nzoc8eC5AYyHSvgUUiSA= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.119.0/go.mod h1:b2bp7SLlJ+llUI9iATQbwYb1Qe/A8qEKMvApjiYcanI= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.119.0 h1:FU6IlRjEHztSHqmaQpsCdUPGT+8k3Eicz3cJ/bjvdFs= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.119.0/go.mod h1:Br1bJZTN7O84nHyNFMoQv247CryglwdShZXWdIgcAkE= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.119.0 h1:qrf38DokXg3lrOG13ph10b8g86mcxgqWONNRSgJX56A= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.119.0/go.mod h1:1Dm/lmI30p2K+lk3kRl1nLQ5UBIQtAyQv5m1CqXFmy4= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0 h1:cHM5PgifIOQKlf3+aKteNxx3P8hzpbSA4ACNPndTViE= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0/go.mod h1:W7EpTg5dUbhe49kpl5h0e1W4e8j2ThIWMBoAlAdNrow= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.119.0 h1:8cqbXDg6qw/MtietHmy32089NsNnna+C7XI1wXYuOp4= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.119.0/go.mod h1:lN1WmtmDnZ0oPwZJUyHUFXG6z1SokTr9rQWN01JsQtA= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0 h1:0eIwc699pvvChuyKDexhl3xovAQzc18xVOvxJ7tv9r8= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0/go.mod h1:Cmey/JEL25DSYfYNxSNpunKzuebMypjZs3VsNc4JSeU= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.119.0 h1:0FAtPJ8yCZgMVRoKz1YjlaZhyOaV7QJWFDYpTVvMV2Y= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.119.0/go.mod h1:3wvrLx2DPLts6vLXG6u+GdC/yvn1lpSDfiwiDnQGzZI= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.119.0 h1:39iyJsiU3gV7a23UlAc7Ho94VheZqNJVHjFcKgb0Tx8= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.119.0/go.mod h1:mEKW51si92Y29AcgoZaK7cqCrZpvWSUpUm+Nm3O2IDw= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.119.0 h1:dk2s3idASqV2yoaBEiL3XEpwGMwrXwFeo4gq94mkqo4= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.119.0/go.mod h1:uKVp1xqykLdAw0MCn3VHl8vs+FNTcrQQwNA/algx+s4= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.119.0 h1:jRnw6rOtjwx9/v5dtGS1x3rz1zLIYcJzz7wD+cP7CVQ= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.119.0/go.mod h1:EhfzPzrswPg+sFtbrUsTaH+qxEdMPiLJ3w4dJ1lYUAo= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.119.0 h1:VjDRhN9nPVwl06A9Bm8EHUPcBHcWxl/g9yohRWb+4qM= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.119.0/go.mod h1:hm5PXNkfCu6hC7lrMDowsATJAnDsaEoalR3tnz/07PE= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.119.0 h1:pzn/nI/CFYWCfHzCLXKUGLaRbjGsuewiM8xfyPkCGvE= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.119.0/go.mod h1:BSbiQT/DiHtR8dmpMDQ8ArZVV6NHmzn3BtpXBhW+FrY= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.119.0 h1:/P7aeHH164dXMFLul42AoMZef59f16VhkuQzyWw8XSA= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.119.0/go.mod h1:obHqkff5ws7kXnJFGKkfGlc2quf+y2SWW8sEmpPyWHc= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.119.0 h1:iOfjyGnzXfe+/jFioc3v8sGfbbXj+Av1JwT0/4nKGDo= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.119.0/go.mod h1:JBIv8fzaT+VH7x2m+T2uBa01tUVt/4IeSs5L3fcwv7E= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.119.0 h1:7KBXKZ3yGpjAGm79CSfZJtQWUcX0UCH+WD9CvmRoL8A= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.119.0/go.mod h1:wSlyROPOwEGT4oGe5jJahToUCEnT4kzz0rAVf4p2GSY= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.119.0 h1:IZ8iw4YK4DSvbow/7O0bwP6A2lsmUcfSZAVCglyfKaM= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.119.0/go.mod h1:BZBHJ/A1ZLiGWd27eZ0NZ4D+aAer+jiv6CCF84Q7Axg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0 h1:JPatHj6zo9O70JC9gUPZhT3bslIYRAEv/tr2qIVo0ug= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0/go.mod h1:QOZ+rBDlyP3muRr7TCvwZExF2xTFRhaA0ftlT2iAa1s= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0 h1:W5ptAjJAf5vNidVdzeN6GHlRAaxk+wZmJO/dVd8EqEg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0/go.mod h1:WDlcIb8ujayQKaz6+yWIvfCL5Uo6WpoZKQFBWqCTZyE= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.119.0 h1:B61YdiunPiXKLidrIg8MOKeld+C/Ukbc5GzEBtQc7bY= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.119.0/go.mod h1:TdryMSy4GKNuC1GI6TfmQjpnDT57ZJdRZT8Eqj/lM8k= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.119.0 h1:PycP/gQPardGM0ty7fkWvyCVp3bJ0ZTYScFvfccfQCk= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.119.0/go.mod h1:UrTrNLhG8ivTeDsdmOe7ElLdSZ9252SwoOYG0DkGsuk= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.119.0 h1:KILJepxu/serXFfxaeS2ZX2LxUE5joXy9kj++NBqbCk= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.119.0/go.mod h1:MsO/R+gix/Szh5Ku8npAX06c8abT6fyg62sgamqVAt4= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.119.0 h1:MIHpKnU3AVnifarhd33P527qSf8qwdxRvm4u5DJSnMI= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.119.0/go.mod h1:7TaXJhp6+ChURaF1LPrb/c1Ovc/3mcTqRG06xnet7H4= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.119.0 h1:639mMgLS0Q1sE6ZeSSaN8no2ezwMmAfdq2jBISJopIo= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.119.0/go.mod h1:kQ1AhNLnO2O2QrEAGEYgmCZxSQsgGVlod3yJVWMbwhg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.119.0 h1:zQm1CkEuk7HjLNcXQ8WIH1t8WHiJDqIQUMjbTHWRFIY= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.119.0/go.mod h1:6Lo1g1yHyIubBggpk+ify0ORGI7Z0C4xCCpEIzyMXdY= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0 h1:+X/CvlCtEQOlhAmM4vMqlPyy3gocwmzZewh7gAEo7po= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0/go.mod h1:M4DuuyCp8tLzI6KRoZ8jjYUfr0GFohznWP9bg4/n7tA= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.119.0 h1:fNrHSXd3zLJYciAU2OPMuwjU3w98xXBLDdjvCh4oYYM= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.119.0/go.mod h1:Ha3vChYy2wzYsCDRQIZwnhpNWEzSRxXMfhX1MD+iNZU= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.119.0 h1:SmH/L7E9qx6vTMyZEThaNMdRGk43OMzkDt/N4w84XYQ= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.119.0/go.mod h1:3lC9hWsk8tCZ/HdsLDtVzea+8TGKHoZp8eVJDJpi2Rs= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.119.0 h1:5Qq/mPvK8/pRiSWTSVbwKPTguJ3OuI1MwefAcNsvSIc= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.119.0/go.mod h1:xqVqiwaOZayLgbCcZCy2otPjT3S2Xz+YymXZr1+t8Hg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.119.0 h1:EJJpmjbJF5Lw50D1L73A/iViweeXqlFldtE7VwBtapw= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.119.0/go.mod h1:agpouJydh2i/S1UPZ9HKY8VWoWwyFl1bl+iAfj/5+3E= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.119.0 h1:bk0KKiDWiaMvMb/EdGL6X6aT9D3Zlh2FlkRuLrEqUPo= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.119.0/go.mod h1:WQ+yJTS27co5mO4L4VfwA0ewo5n+gNDXtwAfDNt+VUA= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.119.0 h1:FQ/gskyDcLvvfAuEswbEw+2yM3h2ycDI/0iQEydhR5M= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.119.0/go.mod h1:OjdwML2o5ibJK/TUstKFaOW8YruWZZ8+yQso934Vzys= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.119.0 h1:oHP6ndUMZ5yeHqMdgDuShuGKZkG2TChIOP7to86UJC0= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.119.0/go.mod h1:L94/m4E8u8o2Eakyho+dJBVoHImOd8gveBSwMnrIkEk= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.119.0 h1:Uw2qT8XxWEp+0YSeBEQuRlXgnvam8B3IR+6Qu0xKvwg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.119.0/go.mod h1:zaYmXAbN866u9Wj/YAxlY4p2/lyzlE554Ql/FgI3J5A= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.119.0 h1:ZIceJm66zF7G+NYroSKGxuYPEgQaCHsfZxhxQPncZ0Q= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.119.0/go.mod h1:SOLSousSv2/r6yBipZ5t6kuj0OLFqyhZZAu9bXS6Xg0= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.119.0 h1:/tDz8joUpcory1ZHLQ8D6RVEzpGhsbCUo8VFFZEGnTI= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.119.0/go.mod h1:xk2Y04EFtB6DDx/Z6ISN9sC9JmwahIOPYJxwh+cMcaM= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.119.0 h1:6PDORwMKhhJ09D0tM9p37FP7dCwmFeYkoC7MuXY+O4o= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.119.0/go.mod h1:li4SUOzds3dWUHHBOzvc68gt/k+DLODSNXtq57gYZpE= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.119.0 h1:QRLAGV2lbXMPE+jRYEHMmjpXD5B9lZ6tlDGbGpkU9Mo= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.119.0/go.mod h1:k8dfmLRM81nyIp89selnd+3XGYLnlFFBZ39QWVu0Zls= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.119.0 h1:FMkx5SCsO8qwbX2c+PzUjEbQ7wmJB+N9h8HSBMK+ioc= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.119.0/go.mod h1:d6jkag0d2Iq2S+p4EFSWMhzaM0lmvvTF/p1rie/9DJk= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.119.0 h1:eXrbv2wehmcfG1MfSU7E6/s945Lptd4JMN7+xZtUXwM= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.119.0/go.mod h1:v+nzaKVtay2JOcwDbz9p8hGpbELbAJdxCAFustkYXFg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.119.0 h1:GmM5QCi2vTEslJ4CaXjoB9agu52t9KPUNv8GDnTu6jw= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.119.0/go.mod h1:6wbr0cIWQuuPUXCUwgiSRONI5tu5T1aUj6pQEXRJKfk= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.119.0 h1:YUD+vI/H0+HGtDMfSrEf5kmkq0OH8iKAKvKq9iQxBWQ= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.119.0/go.mod h1:yGehHKWIUpXPTaS7YO19tIdoTy8CdTKnObw/IJAt7vg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.119.0 h1:omQ/R7wDbmUDLd63IZU/SDwprMBcXr/f65Mho64yjhg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.119.0/go.mod h1:L2arkZ23FofF//zpkOo7Hcg4fe2AYGHbHjMRacRyexE= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.119.0 h1:zzNRPHTSmLGXMO5G7gwJ1QkNuIYBR1Q13ctbw/PWd5U= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.119.0/go.mod h1:s9ijlpmNEF7ZlsnJPIG0yVz14AVqIWvlu2kvYh7OCLw= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.119.0 h1:nM9VXtISMJwL9W1AMZ9zgC4JDX9Q0G2pPy48wsB2bBw= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.119.0/go.mod h1:7TjDVF099yeeU+f+qeAsULoLgfolLRq2hPufE+Sbc9o= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.119.0 h1:u8u2+/75+Q8ZPOmybOuHpFg+w8V5ONIoZjjj2NlW2g0= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.119.0/go.mod h1:3KdeXgI3+eiy8o9ULHvoNiV0WSlJMXddYu6DgfMB5As= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0 h1:2rJGw7Du16sanQo64b2x6qDh2WkYTIB/k8ztaEp96hA= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0/go.mod h1:lOeos0lj5TR84xGqXbE7jR4VQOOuY+c6YhU9Sk+Xpbc= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0 h1:p51SVzm6p9qCuaRNiu0mG8UZR+3fw8Pz8tDMZJiR9Vw= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0/go.mod h1:Z23YzDI4MLP68FoL5bS4xyQsiTuth8jJEr1cWiHnHUA= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.119.0 h1:kA7Ea6e44WV5tch9PTWekj/LkbRSELhRdC4QTOsyw2E= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.119.0/go.mod h1:bmPxja90DNmR0bo1fuQ/sdPon7jI72AzU0X6jsdABWM= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.119.0 h1:04os2LykSMvdW8khEQDtvk150RESimzCQLRVilU3sg4= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.119.0/go.mod h1:8ryGwbyDwngV3IQadAUaf0uRHQcxjkPTplU+iOnhSXM= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.119.0 h1:LlxMj5seXi/cVErs61fmRojj1Goo3bYvgFOpJMtlwwo= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.119.0/go.mod h1:cN2XY980uuIPD1ZOyjDbMzxWLoHBufZqRKWeEx/LugU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.119.0 h1:U/j+jjOId2iiudkHN5EOqmZoMSDxWXTR6N9xGdj3bh8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.119.0/go.mod h1:K6fKwsOcIEkOMR7CitUWBYaS8yrb3Y2TjM1ocMwgJx4= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.119.0 h1:tS//iYtDvw/LnUN4Vk8d4RJUXFbxX94WodT7icgwTd0= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.119.0/go.mod h1:ulPAZNqV35a6IlRZq3FC5tgYzyCSMgFyEMYZWwFI0YU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.119.0 h1:o1s1koCc7Rg2auZLhFc2Ja6Eo2rOCMHKZJptRwdhoTI= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.119.0/go.mod h1:8rSWjIfW9QDA3KHzdZIfGs+Na0HBEmKg2EMmMplK1X8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.119.0 h1:3H9R5Ztc4ISphy+bRlHHExqtS04PBYi7Fptwl9XA52M= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.119.0/go.mod h1:txjr7nwuLZUBitwpU4G7EkZ3gyMBfI/4DXMJxX6NAtU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.119.0 h1:+obWJtiYqEHl5JQ3nSmPXShLWQMxDoCC2ejXdpaqSCo= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.119.0/go.mod h1:xSC4wFMEg0u8E+nOQokmuFtNdGIHNp16NbzfwmOnOaM= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.119.0 h1:F5EFo4KfeX++YcOF2x/PMEUDHaPNN7s4ikXVix11A4g= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.119.0/go.mod h1:kgJtFw0KSX3m5LoU+W4D1IqcYNs4y3DVv9obT45p6MM= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.119.0 h1:Woc64WQAdBO7EhprsHXKC6zQY+GDtk+Ji3hT1s57Hj8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.119.0/go.mod h1:dNCyfdeAp6aM1PGCamx6ZSQtaNpiHOuY6uiEIZev3p4= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0 h1:Rfn7AHN559aaxqKwFWlG36HuHlhl7dbIspKC/O1H8EQ= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0/go.mod h1:GhC+Pk3PbAIq52vmYr+d6PN4Hnxyp4lGQMbomI7Bom8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.119.0 h1:7RVRR3rYnImhL1q+w5QcNGVhY22rcYffzoIuZ1BFHpw= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.119.0/go.mod h1:z9VwT4W5chD4duxfrdqtaoFntM3DnlOKT3CSz3Tb/iA= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.119.0 h1:Y1L1ewaHclsqVLkHvYzGzBSZiQI8C6VT6l5OSu1zdAE= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.119.0/go.mod h1:jEWVyvdRCAwowCJruxYIZrwl7OB9pdf5xHbcuzMr+FU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.119.0 h1:9ivuvcvfagk7ppQmtQUOgH2nFJ66tsgyccEMcXPKoDI= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.119.0/go.mod h1:Fv/VznY6QoEJd34B0DqHXctRgABY3eLNFmpCnkfUeLY= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.119.0 h1:GsiUtdLXgDzZkaDGnbDy47EHoDqKYVNMvX0PKWF1EKI= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.119.0/go.mod h1:Cx/iI+dXpsifBnU9Ch4hN1de5R8dvnyiQJecIc1ty7M= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.119.0 h1:5UZBu9vLWlSCe4u4CvoIrRTsGBwuMApXkNf0nIp3z8E= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.119.0/go.mod h1:dA39ERuz+UsIgAcXyd7tdF69Rr1kh3PmM9KiwHFDjDs= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.119.0 h1:PDG8LmukpSGLt6D3imyKr+5bk9WDVMhEvz87hDHkYbE= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.119.0/go.mod h1:KsWkH2vZT3e8fzbB1MQnLT+EYXXNqfqIlzsqr/Iq7wk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.119.0 h1:gW8WxdU8xY1pYUDIgACpajqIVC+a8MWMEp7DQ2hrDnc= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.119.0/go.mod h1:Ojg3hh6B+WUX4thzM0E0slXVooec/wS7WCJ35DvgIfA= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.119.0 h1:TIYKBeHvPDbX1YvCfjzki87OCIA1t7RSsQX+h0z8jE0= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.119.0/go.mod h1:eyPvKWxE5lkTCeUa1thTbg/tq6muTwWStDG3CumSr+Q= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.119.0 h1:5F+Xa3A/xdlA9x2XdFEATeMhcU4R35TSIs3q6BynqCM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.119.0/go.mod h1:N6FGJBXj0QY/e9zjdlIWGCKHD+fKUwUtreAfAZRyoFA= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.119.0 h1:dit5qDsbc1UQjoBswdK6XaxSvDiltteUqK1EYxfaZIM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.119.0/go.mod h1:9NO7zx3H/Kh80BxyaKsD0TiCYAgxmyh4wxopW/8BPr0= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.119.0 h1:O+/n/6osRr7Y8IdNLv+OyjH6ztW22AcT58w25ZqOjlM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.119.0/go.mod h1:7xNWOEKdIqjJIQTnHnD8oHKK1IXgCbhjMOg5nmgruok= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.119.0 h1:Nc1rvF/hxp8TwYOSsA2qmvIQlS+8lougZsyxcTN6U78= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.119.0/go.mod h1:7ePS4L6s7UcWxxgIQkAiI5db/OxwRAV9+kziKVIO3Y8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.119.0 h1:iPwoMVWXVtJLj/3NtQK44FgGicECl4mN7PyH6u5UpKM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.119.0/go.mod h1:1q/L2R/28emNCz0EHfxEw853I6lPxTcHTqS+UrMea0k= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.119.0 h1:ql3Ujsfiwd1uKAJfK+EbUnLXz1NcStK2q5PRNBqJaQY= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.119.0/go.mod h1:Df15ipOX4JryZDCEiFhByJNgycMOoO6AP0XB/oeqtH4= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0 h1:2ztsxw6DH2CbXbykCGgPSZmHHRilNuD06VOfI/z9xGs= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0/go.mod h1:q5LK/pXBToCu4W+tSVWM2ST5jOWqvDMVVCB7TQqhsbY= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0 h1:qSnBSa1zO4szSQOrVyinm/9Bg68oYv6NarcaV4Rusr8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0/go.mod h1:udnlBYxPMO+odronKnPfYY8M+BnxfaQFXuJgfI5miUw= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.119.0 h1:4e3IV4fgpbyx8E7J+NI9P3R1bREZKw0rIb5ZPGGWyII= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.119.0/go.mod h1:gfUz5iaAWymHyB6rG/Yp3ss84wqjf4rQ5GE0KU8F90c= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.119.0 h1:wSvkLojbTk2dVcXgsr3aNlOxYvkl790vVlwYFobSV9U= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.119.0/go.mod h1:2nyI8d4nBZ9xVIxM7S8DlgqO0FeKAaokYQmxoh0M4pM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.119.0 h1:DW7f//w36CbuCCoqSHEry4zlMXBqiICcFqEsznxZTwg= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.119.0/go.mod h1:T5e1r/S/4KHms5WXhxvd8L+2CExgnoXsKGj8Cr0pa3E= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.119.0 h1:MK3w0xY2ADCS35pje+Q6P2BDWkGJXx5dUYAoavbtWAk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.119.0/go.mod h1:MTQTbbOEWuJhuS5FZiAC0nCCztTvWEly/8wIZpNhi98= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.119.0 h1:hMcna6tA4KSPKjt1Y6WOB3IzTUOnz0nHAqXyr4yzxg0= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.119.0/go.mod h1:I0YLH/ajaRHkLzaU0i/3o/Lxb2SL3PwETrGVaJV6jvs= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.119.0 h1:soRKqiNT14EEnfUpvc+7A1c5ni0RTxmvO59qL4hBimU= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.119.0/go.mod h1:/9EZzPLDe3N4qLkKSmgFAy909KR2JBQ/4qPs9L4avQE= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.119.0 h1:V+BEVFHIbGMYBjbY266/JxVS55w9gF5Mxpkz+yS78AI= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.119.0/go.mod h1:jRBlowpm3Abs1ztxNMJ3HDUlnzWR4dtskEiAL8MGzOc= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.119.0 h1:FPXUweqjxJ2UZl+Msvmc5AVTk8U45eyQCWOII1W9fjQ= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.119.0/go.mod h1:nOQswYR0Mr/mUO0CCvU1ZXfpplvwvDmxSO7PNiUT4gU= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.119.0 h1:aNdJ3IpaIPonIpyulpc5qMlc3MqxYgApyS0EV4W+fgI= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.119.0/go.mod h1:FHjHz7412EAPDgO0eb+xg/iMmAV7QH3oxLtV7iGVEWk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.119.0 h1:1c8ZHVCaO5s7DYqPifj8Cb3qB1uQdMA8eu7VxZHGus8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.119.0/go.mod h1:hI4HvTWC6TxmyQnJXu1LqC67JwvqiZX5tLpbd9fTIdw= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/xk8stest v0.119.0 h1:ptDhiLTpUJY+NIq2FoERwipKcZbNW5m62Sd8VXzbt/g= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/xk8stest v0.119.0/go.mod h1:qAg6wgkUiX8Ue6cLLsZS//d5TvRPmj8j7ieJbtnpHgY= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0 h1:gZLcPTznU086eH0iRZ0t1KhCQDPxsV0e4th8yyRNwL8= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0/go.mod h1:e5Sb/dOSruRTyykbNZppUXEXeYh3cI+7ks7M3HaaL8M= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.119.0 h1:Uiw68g/rrLaSy4HiD8o2grBiBUgmkzT+W6QBCeScAXQ= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.119.0/go.mod h1:Z4+DZ0MHkE6kRMehh7L/f5KzrL12+yTBVpsPikEjAWI= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.119.0 h1:AcZGjL6SPTwaX38gISDIrrgNGti6Q+NJSheTBxI0WmA= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.119.0/go.mod h1:uHXkQLkxzrr7YnyQPLuikJLDb+K4EG6HXI4EIkDljYI= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0 h1:uNGKTj6/vy06LuLsjfEQDy7vH7BwmN9TnPOu6xmRuKM= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0/go.mod h1:9l7VBnHj4Z/q318oSKH6exUK52zYMr/V2dfJA/oVI3Y= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.119.0 h1:VD87LP13ACnh7gJovJ3jy5isO2i+gVG2zsLf1mBJEcc= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.119.0/go.mod h1:P+8bUN1QRYjDwn8pwXNO+sUoECFP/m+w2Pud4Gx32VU= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.119.0 h1:66AgeWhNIgeDYqy3gzs7xUUgc+6nhu69BDBmmWS3bbA= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.119.0/go.mod h1:UoaEnG7ZlUl6rbGf6RzIVJy9s5KkRpJjiq4+199h2As= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0 h1:ZRMmF+QY+OZSZLNRpv7NN2Ib6JSFi469yexeuEyOq5o= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0/go.mod h1:dOfRjw5J83TvrNhqRDamqCjYSwiow+6f7sX6ZRFVaUE= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.119.0 h1:e9gyzsUap23VslntzDMErHEaHpcUd+ngnPzK8Dlx824= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.119.0/go.mod h1:18UdbEEw/TzaSxWGa2ZMXHG1bdPNi/N0qHDMnv6V1Zk= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.119.0 h1:RnnhBiGDZ5rjtqG1ZrgXg7AU0Hpn+S2NC+tZm4bDsnM= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.119.0/go.mod h1:DbYKTD8jVIjSn5HHqthK1dGZdEeJZNnNJ8dX6jn0VOk= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.119.0 h1:4S13LKyLsVpmNYGOzNhikXKJiul2k5+eXIvBds0ZyYY= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.119.0/go.mod h1:ziktR33sMtxYppqMbGoGNpCaJLQfsnywDRpNxvnk12Q= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.119.0 h1:/btbe36ZWR7IHHgAjbr3yq3p+BfTs1amBol0VyHGSd4= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.119.0/go.mod h1:rTWuYTseVLSyeEwEub0xnVs4UZtNsNxFWLS0iaraJV8= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.119.0 h1:iiKzD1spgEoCnWm9VbCW3b4LhDthMpJMM8DVXSZH0CU= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.119.0/go.mod h1:bCq/DAWa9oKDyBPuG41zNDpYeEBPfta1A5x9BKoWWns= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0 h1:vXZYxWXx3HClhJ2ulPpKAl/Zq/9COzB0A2uQ8u8E88Q= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0/go.mod h1:klTWX28fm8xt5C33gYfALvqFhBZfo4a6I0zvGllVJ6U= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0 h1:6E84Ie5d2aU+pnzuGu612UfvdAfvfBK+darD8RdzM7E= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0/go.mod h1:acrmdOey6Ccj0jlgaHgWwRM9VmSfUaWdHm0H9Dz8GO4= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.119.0 h1:HoHNBgBMJsu5NtEzp6BxOe+qlcjBqYYpM78ZnZMhskQ= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.119.0/go.mod h1:inxn5Pkh3VIWVrP0HL4MEdU1eHNeVfxMKo2Z/faPIcE= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.119.0 h1:HBQqRHsRIkJbG6iFHT8Q+TJPljwUSEd75wlqiHVtA5I= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.119.0/go.mod h1:CEzAuqlTFNnxOUk8ix41TM1Bmembk+nKrhYzNN6r0NM= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.119.0 h1:+4yExNs9e8M7EoSDqLo4G/lCm6IpW/b2T0KNSffssws= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.119.0/go.mod h1:l8TlMm3R7Mum6gmqCL/3Cw2ewQBe4qQg92t/px1IvE4= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.119.0 h1:CwmmqxIxO4zu1M5IuYvfRIUnb1sd07AkAb1NCTuDwiQ= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.119.0/go.mod h1:PUPBqK3YG1Tqkvf520K8zMgvLBrJHtYaRMrb+E72lj0= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0 h1:8HlxU1CW9qRYBSp5LdJn904NhdXAuKsklQ8PGTbdiw8= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0/go.mod h1:yRAFW+mmlDKUXAZ77h+EQ4s7z/RZaGK/YClpieva5aY= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.119.0 h1:6T6uajXqfeB61x0IDqAFBCtRu9C9Usk+iy2NsdXOZlI= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.119.0/go.mod h1:pg57Fj1aqWeA5128uLNm33NsDCM+NDUEWn5/jYPGqrc= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0 h1:TNCittWJXM1Bz4A8oEAZLcmY9EcFG+7gjgpnvLs2E38= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0/go.mod h1:XMF6aIAGjHPGhmwVQMEXSNhVzvILAybaxMrJ9/zcTSg= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0 h1:ff/0gXPIMvtBRPWOvgah5+WZlM24MuJKX1pgi5zKbyw= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0/go.mod h1:qxe6bs7I0GN1/u0mScHVo7VuzH6nhUyXQt3Mon8jbck= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0 h1:NYJP5GjdBFBOm96YyGce60kUTk7nBkAxqnAG3O91oPQ= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0/go.mod h1:j1baVt1511W0U1O3swP2EPOJQvw3zEAwLaGbK1XGeQs= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.119.0 h1:fe0eV5j+yP/FZOEho1h0WWwuH4eAFRmuOhaGe0t4q7g= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.119.0/go.mod h1:ajfahqeY17eVreWZZzAQw9GZdsTxD5yZ46DfkOqq5a8= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0 h1:GCzOLqTqIysP5RS6wh70o/cARYAWGl7yITyFHNl96Dw= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0/go.mod h1:DSrZFUPipQcZYE2mU7NfXA89ugRfrkT3aGr7BItni8s= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0 h1:8HZ1pb7toDx3bnMmbC41OI18FZvvDSAr5kQpO7+c3gQ= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0/go.mod h1:2fBaiKO2FZzZ6rr0zYSp6MOcqV0r8fNss5VPK03SFnY= 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/runtime-spec v1.1.0-rc.3 h1:l04uafi6kxByhbxev7OWiuUv0LZxEsYUfDWZ6bztAuU= -github.com/opencontainers/runtime-spec v1.1.0-rc.3/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +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/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-20210521075222-e273a339932a/go.mod h1:izBmoXbUu3z5kUa4FjZhvekTsyzIWiOoaIgJiZBBMQs= @@ -1308,8 +1313,8 @@ github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142/go.mod h1:fjS8 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/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/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= +github.com/outcaste-io/ristretto v0.2.3/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= @@ -1407,8 +1412,8 @@ github.com/scalyr/dataset-go v0.20.0 h1:VZJew4W/ufnb67yZSpWQKI40U4XpA+w+cDM+mk0q 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/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/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= +github.com/secure-systems-lab/go-securesystemslib v0.8.0/go.mod h1:UH2VZVuJfCYR8WgMlCU1uFsOUU+KeyrTWcSS73NBOzU= 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.22.12/go.mod h1:Xd7P1kwZcp5VW52+9XsirIKd/BROzbb2wdX3Kqlz9uI= @@ -1483,8 +1488,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1086 h1:TlY8VHqsY4pRurqNVj4sqMU/Eu3P8QSbIyJJo1CYH+0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1086/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1090 h1:0fZ+FZE7ZvqxGdYbtQW8OyPXGD1qGPmg4wT+Tjkv+1s= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1090/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/testcontainers/testcontainers-go v0.35.0 h1:uADsZpTKFAtp8SLK+hMwSaa+X+JiERHtd4sQAFmXeMo= github.com/testcontainers/testcontainers-go v0.35.0/go.mod h1:oEVBj5zrfJTrgjwONs1SsRbnBtH9OKl+IGl3UMcr2B4= github.com/tg123/go-htpasswd v1.2.3 h1:ALR6ZBIc2m9u70m+eAWUFt5p43ISbIvAvRFYzZPTOY8= @@ -1551,6 +1556,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.1/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= @@ -1578,196 +1584,196 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector v0.118.0 h1:OBqxppK9Ul6bzEabcHsx11pXwgp05sBpqYxIxiOkyFo= -go.opentelemetry.io/collector v0.118.0/go.mod h1:yxfijW5k9dwd9sifTBAEoItE+ahFEtOlyvex1B99uno= -go.opentelemetry.io/collector/client v1.24.0 h1:eH7ctqDnRWNH5QVVbAvdYYdkvr8QWLkEm8FUPaaYbWE= -go.opentelemetry.io/collector/client v1.24.0/go.mod h1:C/38SYPa0tTL6ikPz/glYz6f3GVzEuT4nlEml6IBDMw= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= -go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configauth v0.118.0 h1:uBH/s9kRw/m7VWuibrkCzbXSCVLf9ElKq9NuKb0wAwk= -go.opentelemetry.io/collector/config/configauth v0.118.0/go.mod h1:uAmSGkihIENoIah6mEQ8S/HX4oiFOHZu3EoZLZwi9OI= -go.opentelemetry.io/collector/config/configcompression v1.24.0 h1:jyM6BX7wYcrh+eVSC0FMbWgy/zb9iP58SerOrvisccE= -go.opentelemetry.io/collector/config/configcompression v1.24.0/go.mod h1:LvYG00tbPTv0NOLoZN0wXq1F5thcxvukO8INq7xyfWU= -go.opentelemetry.io/collector/config/configgrpc v0.118.0 h1:if8VfsnnHwVX/E+GgehVXKh85YtAtVci+c4A/M5gPh0= -go.opentelemetry.io/collector/config/configgrpc v0.118.0/go.mod h1:TZqpu5s/iEW5XmhSnzrhXCUQ3W5qaICNvlllBf3GGcw= -go.opentelemetry.io/collector/config/confighttp v0.118.0 h1:ey50dfySOCPgUPJ1x8Kq6CmNcv/TpZHt6cYmPhZItj0= -go.opentelemetry.io/collector/config/confighttp v0.118.0/go.mod h1:4frheVFiIfKUHuD/KAPn+u+d+EUx5GlQTNmoI1ftReA= -go.opentelemetry.io/collector/config/confignet v1.24.0 h1:Je1oO3qCUI4etX9ZVyav/NkeD+sfzZQRmwMGy51Oei4= -go.opentelemetry.io/collector/config/confignet v1.24.0/go.mod h1:ZppUH1hgUJOubawEsxsQ9MzEYFytqo2GnVSS7d4CVxc= -go.opentelemetry.io/collector/config/configopaque v1.24.0 h1:EPOprMDreZPKyIgT0/eVBvEGQVvq7ncvBCBVnWerj54= -go.opentelemetry.io/collector/config/configopaque v1.24.0/go.mod h1:sW0t0iI/VfRL9VYX7Ik6XzVgPcR+Y5kejTLsYcMyDWs= -go.opentelemetry.io/collector/config/configretry v1.24.0 h1:sIPHhNNY2YlHMIJ//63iMxIqlgDeGczId0uUb1njsPM= -go.opentelemetry.io/collector/config/configretry v1.24.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/config/configtls v1.24.0 h1:rOhl8qjIlUVVRHnwQj6/vZe6cuCYImyx7aVDBR35bqI= -go.opentelemetry.io/collector/config/configtls v1.24.0/go.mod h1:d0OdfkbuYEMYDBJLSbpH0wPI29lmSiFT3geqh/ygF2k= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/confmap/provider/envprovider v1.24.0 h1:jAtaNR4b5gnddNzyfcpIhURSDq4rai667yV1Ngmku2Y= -go.opentelemetry.io/collector/confmap/provider/envprovider v1.24.0/go.mod h1:X0BuIYyscilkwApnmxlrdz0kTVWgKXq2ih8sTWm8Zio= -go.opentelemetry.io/collector/confmap/provider/fileprovider v1.24.0 h1:QoQulv9L20MhD1TFWH1scbRoo0bxbZqF2quh1VRNMh4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v1.24.0/go.mod h1:ljIH/rWIUHJeWIDEKMRU/ufol/bcgC7ufamchtuTAwM= -go.opentelemetry.io/collector/confmap/provider/httpprovider v1.24.0 h1:1mbj6HlVZ4LNVBYrxM5jQEJKxinpe0LtNZwI7i8pQNY= -go.opentelemetry.io/collector/confmap/provider/httpprovider v1.24.0/go.mod h1:xM2qJmW6mB1lzFpLWIoxX/h4tUnoYTICZoqPND9YWi0= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.24.0 h1:Ncr7a3HbVpmjAvPHd0yQM/MV2p7HqJe+zvDPmHdjSCI= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.24.0/go.mod h1:i7omVh3uK8efpr7/fSAcOh8Xiv3FLYL26wUuON9i1WI= -go.opentelemetry.io/collector/connector v0.118.0 h1:amay4UriWrtydaAxjQ8/MTTaVYERlZcYLCAGcjoBejw= -go.opentelemetry.io/collector/connector v0.118.0/go.mod h1:R6jbMrHZYg21pZ0nsoo4cSHIn7Lrdpi5R3OWcDEQwhE= -go.opentelemetry.io/collector/connector/connectortest v0.118.0 h1:hLMSTqtFWveXa3b1qJMEaWuaX3PHx7dfl8G/bsac2fE= -go.opentelemetry.io/collector/connector/connectortest v0.118.0/go.mod h1:hm6TNLiQLe65NpENCFsFoiO8fOf3BbN4UF1heUsT73Q= -go.opentelemetry.io/collector/connector/forwardconnector v0.118.0 h1:TVdyYTQGK/Tmy2l2MGX2DuJ0NSgaNhOPZaNbLnNmep4= -go.opentelemetry.io/collector/connector/forwardconnector v0.118.0/go.mod h1:mKhrxSKCn214Sku8ssCt34EamEFlv5/AlivLfmWA054= -go.opentelemetry.io/collector/connector/xconnector v0.118.0 h1:0s6rwZmt8va6xd3BEZs7s2QBNFNjLv0kzYi6l44dKqc= -go.opentelemetry.io/collector/connector/xconnector v0.118.0/go.mod h1:12mJPGWo90iZrrpgOkmSd5TkejweL34V/R6AqwqJnMA= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0 h1:Cx//ZFDa6wUEoRDRYRZ/Rkb52dWNoHj2e9FdlcM9jCA= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0/go.mod h1:2mhnzzLYR5zS2Zz4h9ZnRM8Uogu9qatcfQwGNenhing= -go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.118.0 h1:/kkWdw1PQtPb1noZMTt6tbgP1ntWdJ835u1o45nYhTg= -go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.118.0/go.mod h1:2mdXnTT0nPd/KTG9w29cc1OGKBLzL2HW+x/o7QVpCpI= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/exporter v0.118.0 h1:PE0vF2U+znOB8OVLPWNw40bGCoT/5QquQ8Xbz4i9Rb0= -go.opentelemetry.io/collector/exporter v0.118.0/go.mod h1:5ST3gxT/RzE/vg2bcGDtWJxlQF1ypwk50UpmdK1kUqY= -go.opentelemetry.io/collector/exporter/debugexporter v0.118.0 h1:MUZl270SJSU/fDpIr5cJ+JEPrK6OEsHllmKauWYhxxQ= -go.opentelemetry.io/collector/exporter/debugexporter v0.118.0/go.mod h1:SW3j4Bl3uB/nbTC1D0hog9TcelVot9RXQnScCwx8azw= -go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.118.0 h1:wC4IyE98DR4eXVyT7EnA4iJ6s+sbUTZVq/5KoVWSKDw= -go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.118.0/go.mod h1:spjZv9QX+pCcx/ECSqlo/UKCYJzp2rR5NsvIgpfdUxQ= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0 h1:8gWky42BcJsxoaqWbnqCDUjP3Y84hjC6RD/UWHwR7sI= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0/go.mod h1:UbpQBZvznA8YPqqcKlafVIhB6Qa4fPf2+I67MUGyNqo= -go.opentelemetry.io/collector/exporter/nopexporter v0.118.0 h1:YX+pX1bVv3IJtBmrAN0waJnFWe9ynCfIRhvmVMTg4Cs= -go.opentelemetry.io/collector/exporter/nopexporter v0.118.0/go.mod h1:vWBRmNyRqN7nzu7sXjrSuVZPnpKZnKAG4ct01jL8xrg= -go.opentelemetry.io/collector/exporter/otlpexporter v0.118.0 h1:kfVfskZEroh3zs8HmdCLeo9weAJT5oedd+04McXEBSU= -go.opentelemetry.io/collector/exporter/otlpexporter v0.118.0/go.mod h1:iyvbf05lZdh+KObvNF0uEpaaV9YoQNofm1RRamWbq78= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.118.0 h1:8ShK60uf6nY6TlSYBZ2Y7eh3sv0WwNkUKgmh3P1U/2U= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.118.0/go.mod h1:UJXry//sSRs04eg35nZkT1wxP43tPxz/3wbf26eLRkc= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0 h1:PZAo1CFhZHfQwtzUNj+Fwcv/21pWHJHTsrIddD096fw= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0/go.mod h1:x4J+qyrRcp4DfWKqK3DLZomFTIUhedsqCQWqq6Gqps4= -go.opentelemetry.io/collector/extension v0.118.0 h1:9o5jLCTRvs0+rtFDx04zTBuB4WFrE0RvtVCPovYV0sA= -go.opentelemetry.io/collector/extension v0.118.0/go.mod h1:BFwB0WOlse6JnrStO44+k9kwUVjjtseFEHhJLHD7lBg= -go.opentelemetry.io/collector/extension/auth v0.118.0 h1:+eMNUBUK1JK9A3mr95BasbWE90Lxu+WlR9sqS36sJms= -go.opentelemetry.io/collector/extension/auth v0.118.0/go.mod h1:MJpYcRGSERkgOhczqTKoAhkHmcugr+YTlRhc/SpYYYI= -go.opentelemetry.io/collector/extension/auth/authtest v0.118.0 h1:KIORXNc71vfpQrrZOntiZesRCZtQ8alrASWVT/zZkyo= -go.opentelemetry.io/collector/extension/auth/authtest v0.118.0/go.mod h1:0ZlSP9NPAfTRQd6Tx4mOH0IWrp6ufHaVN//L9Mb87gM= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.118.0 h1:I/SjuacUXdBOxa6ZnVMuMKkZX+m40tUm+5YKqWnNv/c= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.118.0/go.mod h1:IxDALY0rMvsENrVui7Y5tvvL/xHNgMKuhfiQiSHMiTQ= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0 h1:rKBUaFS9elGfENG45wANmrwx7mHsmt1+YWCzxjftElg= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0/go.mod h1:CqNXzkIOR32D8EUpptpOXhpFkibs3kFlRyNMEgIW8l4= -go.opentelemetry.io/collector/extension/xextension v0.118.0 h1:P6gvJzqnH9ma2QfnWde/E6Xu9bAzuefzIwm5iupiVPE= -go.opentelemetry.io/collector/extension/xextension v0.118.0/go.mod h1:ne4Q8ZtRlbC0Etr2hTcVkjOpVM2bE2xy1u+R80LUkDw= -go.opentelemetry.io/collector/extension/zpagesextension v0.118.0 h1:XkaLvST4p1/i/dsk5yCwFG4HJUUr6joCbegJc2MEOrE= -go.opentelemetry.io/collector/extension/zpagesextension v0.118.0/go.mod h1:alaAK7I7UeM1Hcs/eNqIjTLIZpqrk3mD1Ua42mJ7JnU= -go.opentelemetry.io/collector/featuregate v1.24.0 h1:DEqDsuJgxjZ3E5JNC9hXCd4sWGFiF7h9kaziODuqwFY= -go.opentelemetry.io/collector/featuregate v1.24.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= -go.opentelemetry.io/collector/filter v0.118.0 h1:mvf08g5VHUcyhqobqId2bVGhgcs1RNR69INGlT0LEsA= -go.opentelemetry.io/collector/filter v0.118.0/go.mod h1:Pgii0Ad2PXdxYSYYqki6Mr4gZdueJG9rDOiaB3fXf3Q= -go.opentelemetry.io/collector/internal/fanoutconsumer v0.118.0 h1:affTj1Qxjbg9dZ1x2tbV9Rs9/otZQ1lHA++L8qB5KiQ= -go.opentelemetry.io/collector/internal/fanoutconsumer v0.118.0/go.mod h1:9mbE68mYdtTyozr3jTtNMB1RA5F8/dt2aWVYSu6bsQ4= -go.opentelemetry.io/collector/internal/memorylimiter v0.118.0 h1:F2FgIe7N4UBQKybKEmpcpFjFBfVLR7ogQHTGAPQ04rc= -go.opentelemetry.io/collector/internal/memorylimiter v0.118.0/go.mod h1:1UXOl4BMaJl9hOlORAJvXNt1jc0GJazCRy9ieDdMkxw= -go.opentelemetry.io/collector/internal/sharedcomponent v0.118.0 h1:aCiwkzBL4VyPEUBmEcTnoPyld5EClJGbwyUNJhHNgEo= -go.opentelemetry.io/collector/internal/sharedcomponent v0.118.0/go.mod h1:drV6vD4acelEUOjM9cgxV5ILs8q2AYUh3EV+Pljdorg= -go.opentelemetry.io/collector/otelcol v0.118.0 h1:uSD3wU0sO4vsw5VvWI2yUFLggLdq1BWN/nC1LJXIhMg= -go.opentelemetry.io/collector/otelcol v0.118.0/go.mod h1:OdKz/AXj+ewCwXp/acZCBIoMIYiIxeNRNkbqUXvWi+o= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.118.0 h1:s4yLzDUPzzPElvcOqth7iOuKe+eBo8iXy6bzAy57sXA= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.118.0/go.mod h1:nNDwBOLXNHVnALpcBzkWQ/770WB3IFvEVgLjgujt3Eo= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.116.0 h1:vRdnwIU40bYtxntVOmxg4Bhrh9QVKtx5wwlxK21rc1s= -go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.116.0/go.mod h1:KxDMUOfbVy8lzZ85CZEG3gCJEYMyWiBKdN+HWUwQWTM= -go.opentelemetry.io/collector/pipeline/xpipeline v0.118.0 h1:ZUVF1MYNQYZvmuL30KfP+QbVGSbFZvldBM9hgCe4J4k= -go.opentelemetry.io/collector/pipeline/xpipeline v0.118.0/go.mod h1:XgG1ktGO9J1f6fasMYPWSXL9Raan/VYB9vddKKWp5hQ= -go.opentelemetry.io/collector/processor v0.118.0 h1:NlqWiTTpPP+EPbrqTcNP9nh/4O4/9U9RGWVB49xo4ws= -go.opentelemetry.io/collector/processor v0.118.0/go.mod h1:Y8OD7wk51oPuBqrbn1qXIK91AbprRHP76hlvEzC24U4= -go.opentelemetry.io/collector/processor/batchprocessor v0.118.0 h1:odyJ9l5eakr+TS8sr6U9rz53QD5ZwewL/6pLUtFTJBs= -go.opentelemetry.io/collector/processor/batchprocessor v0.118.0/go.mod h1:fcHRefknjoLMpCRQ9LKEEzrrmSFUejEaTSxCqj5lHhI= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.118.0 h1:1v9VB9lJdo5kNT448Ba1jk9psS4+iv8clooiDU0/5WM= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.118.0/go.mod h1:UjlRdaLezSHt+5vX9erJu24HmTMw9mefQSQLatcSwG4= -go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.118.0 h1:FAuXTUGtk82XDeNC2EIsK8Ad2I0GrbK9zLT6piwjNeA= -go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.118.0/go.mod h1:F/sHViojq+fH2rEAJcPC/o71EE5aFAideVkVBu59e9k= -go.opentelemetry.io/collector/processor/processortest v0.118.0 h1:VfTLHuIaJWGyUmrvAOvf63gPMf1vAW68/jtJClEsKtU= -go.opentelemetry.io/collector/processor/processortest v0.118.0/go.mod h1:ZFWxsSoafGNOEk83FtGz43M5ypUzAOvGnfT0aQTDHdU= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0 h1:M/EMhPRbadHLpv7g99fBjfgyuYexBZmgQqb2vjTXjvM= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0/go.mod h1:lkoQoCv2Cz+C0kf2VHgBUDYWDecZLLeaHEvHDXbBCXU= -go.opentelemetry.io/collector/receiver v0.118.0 h1:X4mspHmbbtwdCQZ7o370kNmdWfxRnK1FrsvEShCCKEc= -go.opentelemetry.io/collector/receiver v0.118.0/go.mod h1:wFyfu6sgrkDPLQoGOGMuChGZzkZnYcI/tPJWV4CRTzs= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.118.0 h1:Nud8aaRDb86K2kBeqMTjqAKDUV00JDn+G4wUZ3hDlAk= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.118.0/go.mod h1:MJvDEzWJnm1FMoIoTKmhlT3pPmwJP+65GKWy0lAzd30= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0 h1:XlMr2mPsyXJsMUOqCpEoY3uCPsLZQbNA5fmVNDGB7Bw= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0/go.mod h1:dtu/H1RNjhy11hTVf/XUfc02uGufMhYYdhhYBbglcUg= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 h1:dzECve9e0H3ot0JWnWPuQr9Y84RhOYSd0+CjvJskx7Y= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0/go.mod h1:Lv1nD/mSYSP64iV8k+C+mWWZZOMLRubv9d1SUory3/E= -go.opentelemetry.io/collector/scraper v0.118.0 h1:944QgQVZ7PM0L9WIwgRPY0LbbHX5qsk2x4uxDO1IOAQ= -go.opentelemetry.io/collector/scraper v0.118.0/go.mod h1:wIa4bIqiU9bkeg3v5QQybwz1+K5DjrP1Afc13Kt22Cw= -go.opentelemetry.io/collector/scraper/scraperhelper v0.118.0 h1:kZu4TgGGSWlNP9ogVr3pVQGX6J/P8ooPj8wMH5+aWyQ= -go.opentelemetry.io/collector/scraper/scraperhelper v0.118.0/go.mod h1:NKOcwL580ycua1HQ9K3OUucBsMsVL5DbvOJxGtg4chs= -go.opentelemetry.io/collector/scraper/scrapertest v0.118.0 h1:1zqF7Rs/RuvUITsxGJSDsvVZEqyDFW5xe1nvlNs2+HE= -go.opentelemetry.io/collector/scraper/scrapertest v0.118.0/go.mod h1:lUUX279TfqMQ63VdAdf/cpX4AUuMLPHS0hJcjfyzKkg= -go.opentelemetry.io/collector/semconv v0.118.0 h1:V4vlMIK7TIaemrrn2VawvQPwruIKpj7Xgw9P5+BL56w= -go.opentelemetry.io/collector/semconv v0.118.0/go.mod h1:N6XE8Q0JKgBN2fAhkUQtqK9LT7rEGR6+Wu/Rtbal1iI= -go.opentelemetry.io/collector/service v0.118.0 h1:acZ9LzUbEF5M3G7o5FgenPJVuuM2y8c4HW5JVm648L4= -go.opentelemetry.io/collector/service v0.118.0/go.mod h1:uw3cl3UtkAOrEr8UQV2lXKjyTIbhWxURaQec8kE+Pic= -go.opentelemetry.io/contrib/bridges/otelzap v0.6.0 h1:j8icMXyyqNf6HGuwlYhniPnVsbJIq7n+WirDu3VAJdQ= -go.opentelemetry.io/contrib/bridges/otelzap v0.6.0/go.mod h1:evIOZpl+kAlU5IsaYX2Siw+IbpacAZvXemVsgt70uvw= -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.58.0 h1:PS8wXpbyaDJQ2VDHHncMe9Vct0Zn1fEjpsjrLxGJoSc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.58.0/go.mod h1:HDBUsEjOuRC0EzKZ1bSaRGZWUBAzo+MhAcUUORSr4D0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= -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/collector v0.119.0 h1:n8ltRLteaUKjyY3E+3JbiaPG4gwL2pjNIcUvXmRA0Ko= +go.opentelemetry.io/collector v0.119.0/go.mod h1:w+qO3hp/mLR2wL4v06MWonGcj4p2/kPSNcU3R7+06p8= +go.opentelemetry.io/collector/client v1.25.0 h1:7IS+b3Xm2ymgmQj9UbnZmVF4jIw6F7tQjJP7lFc+GoM= +go.opentelemetry.io/collector/client v1.25.0/go.mod h1:IPyOnO7K0ztuZOV1i+WXShvq4tpbLp45tTDdIDvlZvM= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configauth v0.119.0 h1:w/Ln2l6TSgadtRLEZ7mlmOsW/6Q4ITIrjwxR7Tbnfzg= +go.opentelemetry.io/collector/config/configauth v0.119.0/go.mod h1:B3DFUBTSGdwAjxbWtY/tQ+03QwousCMLM9s26+Kb9Xw= +go.opentelemetry.io/collector/config/configcompression v1.25.0 h1:iYeeYiKbTQu9lqWDpszeAc5gRkWBImDrBVe7u5gnoqw= +go.opentelemetry.io/collector/config/configcompression v1.25.0/go.mod h1:LvYG00tbPTv0NOLoZN0wXq1F5thcxvukO8INq7xyfWU= +go.opentelemetry.io/collector/config/configgrpc v0.119.0 h1:h3Fn5xzGSeSC721rbBhZDxTY5Z1sSSqQRdjR2LXnUZM= +go.opentelemetry.io/collector/config/configgrpc v0.119.0/go.mod h1:JkPHSM0clFA2bD85zQ8DuEyH4BFiB+wCZbr1aqbCLkY= +go.opentelemetry.io/collector/config/confighttp v0.119.0 h1:slt4Msm2D4qdu2Nvy2E+ccgrAS0T64zl6eTuWiiCxGg= +go.opentelemetry.io/collector/config/confighttp v0.119.0/go.mod h1:Tnfo1UP1OZPVfvYriaP187aS3FHfwVXNLjBZ799AUFk= +go.opentelemetry.io/collector/config/confignet v1.25.0 h1:DteOIhwvXkmGhqggKU/s0qfjpVW21TGku1vM2S0xArY= +go.opentelemetry.io/collector/config/confignet v1.25.0/go.mod h1:ZppUH1hgUJOubawEsxsQ9MzEYFytqo2GnVSS7d4CVxc= +go.opentelemetry.io/collector/config/configopaque v1.25.0 h1:raFi+CC8Sn4KzKCPhtnnrnkDQ0eFzJCN8xJpQh9d1sU= +go.opentelemetry.io/collector/config/configopaque v1.25.0/go.mod h1:sW0t0iI/VfRL9VYX7Ik6XzVgPcR+Y5kejTLsYcMyDWs= +go.opentelemetry.io/collector/config/configretry v1.25.0 h1:PelzRkTJ9zGxwdJha7pPtvR91GrgL/OzkY/MwyXYRUE= +go.opentelemetry.io/collector/config/configretry v1.25.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/config/configtls v1.25.0 h1:x915Us8mhYWGB025LBMH8LT9ZPdvg2WKAyCQ7IDUSfw= +go.opentelemetry.io/collector/config/configtls v1.25.0/go.mod h1:jE4WbJE12AltJ3BZU1R0GnYI8D14bTqbTq4yuaTHdms= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.25.0 h1:r4nyEXzs+1ZaemXX7bo2pniIqUZxoFKv0Q1Y7UKkkeY= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.25.0/go.mod h1:uIRrCsNI9hx6/AehW0MpB0oEPzRt2QIn6rCbFQkBbbQ= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.25.0 h1:0Bbay2ow6eQVKMxuota2i1/iIMRhE988hxoY/67Zfqw= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.25.0/go.mod h1:5xaAHjqx9mlcXxDCeUrZXkEfWk9suMqMKspK41XNelc= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.25.0 h1:eBuy2cxEuRRe5xhQjz+0YqCtMEa6pUUXtEUeZ1+dqSw= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.25.0/go.mod h1:tAn9Ahbs+y/lBv0etEnVg401hhiHGIXneALyD2I3qIs= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.25.0 h1:P0F4ys5mxyoo9Bl1uNQc9tDQHUcjc6UiSdQWnHzAod8= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.25.0/go.mod h1:3+woatuB5xT10fnmHu5DPujf/rBVi2sntNu2cjqFtYs= +go.opentelemetry.io/collector/connector v0.119.0 h1:TWEVa2Iu+YOW/BuqNAoX0iesv4ygocb9v6GKtZEGsSw= +go.opentelemetry.io/collector/connector v0.119.0/go.mod h1:4p/m2G2acL03RjhdeTJpo6afHFnfBU8E+eUxyrz7qd4= +go.opentelemetry.io/collector/connector/connectortest v0.119.0 h1:jfkxP4jrd+CkyM0SnOrwiSiOW0xyahsyUjWqMwVBbBI= +go.opentelemetry.io/collector/connector/connectortest v0.119.0/go.mod h1:W0jLFVqxpWE+Rz6+JoYY6wN6f41862n8PIr+igaECcI= +go.opentelemetry.io/collector/connector/forwardconnector v0.119.0 h1:tLehtkZwJkMeUqdYgNWIBRlFIbAdpJa9Mebp30Lwv6o= +go.opentelemetry.io/collector/connector/forwardconnector v0.119.0/go.mod h1:WfvfJdGiAvJLLv5SY8yGHyvq3ktBsAIgBP0FM9W1M/Q= +go.opentelemetry.io/collector/connector/xconnector v0.119.0 h1:00iGiSVJKp82WjWsyPCMfxmyTynGzNkr7dSrb4oMuyQ= +go.opentelemetry.io/collector/connector/xconnector v0.119.0/go.mod h1:8MPaHhN64/METupujKMxuX+2eixLduUHXxMqP4JUUpc= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0 h1:M6QXK3KLWnNLlUWOBgz+WQI//W9M8r9qVGWUA3mc5LM= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0/go.mod h1:UNnNkr+ZQJhAMNE5v1n86lXbJrSYb+1ePcI98gV6xvo= +go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0 h1:T/H7NcNIPKnCPlM5rObxPR+907ayTTXnyWiuMjL7Hsg= +go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0/go.mod h1:k03ncJ8V0QFKqwD4ELNyvFx3pMs2uaCErbIn06N9YLo= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/exporter v0.119.0 h1:eVHmkeB5HQY/FcoP62l7O4Q0cAZ97LwLhZiAQoQeBtU= +go.opentelemetry.io/collector/exporter v0.119.0/go.mod h1:xMF9mT01tXHX2NjfMRV8o9YyhPBZOR4Wt+srkTy1thM= +go.opentelemetry.io/collector/exporter/debugexporter v0.119.0 h1:T645QvdoiTWq8h4xf93PFCskjhlTEkCq+lvCwY/xpw0= +go.opentelemetry.io/collector/exporter/debugexporter v0.119.0/go.mod h1:+NpJwrP28x2WvhDMjR3aMaHiFis7gRbLFfSowW5F3jM= +go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0 h1:KS7W2zWVd34Q0BF6tek0hXNEhWHxTr84O+u4xG6a7FM= +go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0/go.mod h1:eKijsOVkLOuu9lbqx86Mua8PqURnpxOdPo/5grKGHOg= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0 h1:saABJIiyYyqWEBvGe2VVf5rMMpHdwB83nD6feNZ33nA= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0/go.mod h1:S82pMkj1gWdivxVRKqaRJvGMgVRntKVI5dWAgs23KI8= +go.opentelemetry.io/collector/exporter/nopexporter v0.119.0 h1:xMFnJMkqkzcy9QtfoT/K/UdluLs76Ayrd0XlXcVKMLI= +go.opentelemetry.io/collector/exporter/nopexporter v0.119.0/go.mod h1:8fkzPooeLOkMJiD52zJ9BffvedLi9FH+pOgPBLk1pSE= +go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0 h1:+Ic7h40EOUPbgDnJzVRns5IjxQBKP8Svn4VeIu1Cnj4= +go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0/go.mod h1:TZMlSFncZ6w7NwEEwElB5QGUNIYZb2SMfmUVajxTctw= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0 h1:Hyld/aXva2sPrTchpL9w6QmJVekQcgAO4c3mNbDMi78= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0/go.mod h1:U3S1yKDcyb0pP7Xs/SGWWBw4nEzW1KIoBtzYn3CE5TY= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0 h1:bCUFRa/of+iPrJoXyzJ5cbOv/hWDHw87bnDRFQJ/JVU= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0/go.mod h1:naV2XoiJv8bvOt7Vs9h6aDWmJnuD1SRnDqkIFRINYlI= +go.opentelemetry.io/collector/extension v0.119.0 h1:Itkt3jqYLjkhoX4kWhICuhXQEQz332W7UL6DpmaNHMc= +go.opentelemetry.io/collector/extension v0.119.0/go.mod h1:yMpvs58Z9F3UpSoE4w/1q/EEKlLFZBOQ2muzzikRvO8= +go.opentelemetry.io/collector/extension/auth v0.119.0 h1:URPkjeo3aKmlYGgeFCZK6kLK+D1XGfDUGSAwFaHn+QQ= +go.opentelemetry.io/collector/extension/auth v0.119.0/go.mod h1:8mGcTLfgmf2QNrdumP7g7nnNtyrpHiPRZect1tdXYJQ= +go.opentelemetry.io/collector/extension/auth/authtest v0.119.0 h1:J3oqlamxI+1BvRSxFIOkjMZl2E534YM6y3O8seM0yzE= +go.opentelemetry.io/collector/extension/auth/authtest v0.119.0/go.mod h1:EpUkiFC9siKB/PXeTk9KFutJhZrd6I/AHBM5en4yXlM= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.119.0 h1:OgG2AW0Ra43tbWDUOMC4TRIUXiz5PsVYNhnBtW3muk0= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.119.0/go.mod h1:e+5w+yz9d0KHBZcH1T204IGfEO4IWuAltCSh9L5i8wg= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0 h1:sAdIBRJ6Df7jdkHWY/pSEYTersxURkUz9pENKl73n6s= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0/go.mod h1:XQbUTXneJ//xt58eu5ofHhzWQcQ24GRTbBMWHCEsipA= +go.opentelemetry.io/collector/extension/xextension v0.119.0 h1:uSUvha4yxk5jWevhepsQ56QSAOkk3Z4M0vcPEJeZ6UU= +go.opentelemetry.io/collector/extension/xextension v0.119.0/go.mod h1:2DSTP2IEFfCC+2IFzl1eG9bCKsBkxIQjIphziJ0+vuo= +go.opentelemetry.io/collector/extension/zpagesextension v0.119.0 h1:NUmze3n47EhqWwM/GA0o98OFntsYialinKJABRw2Ri4= +go.opentelemetry.io/collector/extension/zpagesextension v0.119.0/go.mod h1:M2zapnlbhlJbuLU7edsDfokszyDIrqrOpIt0IEWxcJ8= +go.opentelemetry.io/collector/featuregate v1.25.0 h1:3b857fvoY9xBcE5qtLUE1/nlQ65teuW9d8CKr6MykYc= +go.opentelemetry.io/collector/featuregate v1.25.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= +go.opentelemetry.io/collector/filter v0.119.0 h1:uAoF9h7iTHlQE/AnIborqUwwT+Qtw+UnXfr4vEkzY0o= +go.opentelemetry.io/collector/filter v0.119.0/go.mod h1:mRiDt6ZAi+uN11FBwQ8z86k/SBn3PMwzP46cGz2thEc= +go.opentelemetry.io/collector/internal/fanoutconsumer v0.119.0 h1:egWfZjmGZRZ7a/LRJZQWs7MzlpHVo+jctdO+5jHigH8= +go.opentelemetry.io/collector/internal/fanoutconsumer v0.119.0/go.mod h1:0qxt8Lql6prWxCHAl4WguY+sdgyr20imKLgD/M/trjs= +go.opentelemetry.io/collector/internal/memorylimiter v0.119.0 h1:AMqZlXLyTk8hvuqiBLfVdVrwy/fSpWUbOCapOk43JoE= +go.opentelemetry.io/collector/internal/memorylimiter v0.119.0/go.mod h1:Kcawdd/CMNlaATPd0CYpSv2QXFvpDtuys68rLXTEOlM= +go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0 h1:A2Pzo2fLewBLyV9CrcUzLMiN63A9WpKsL8QtELU/CCg= +go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0/go.mod h1:r29B+4G7yswJ0JkE+yWH4knPvlBvxIgNuOx6p010u/A= +go.opentelemetry.io/collector/otelcol v0.119.0 h1:tHCo07NuSBtl3bPdYIVR78+9XKr/DqX2azPt5/QlcYM= +go.opentelemetry.io/collector/otelcol v0.119.0/go.mod h1:V4uiDdOk8dOVKH0NfTBofvxGtVgx53YrYvv4w+w2wwI= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.119.0 h1:XicJhy+owMv1KqQZJSYMtWmuWeBd8ZavsItKO6whAr0= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.119.0/go.mod h1:LY+jvqMARsOtJriH9gAfAYNg8bHA2G6H9mJI5IdT5x0= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0 h1:lX70c+MjXHbOJahU6Xs3yV1rPTV/7bWXlCj/C+CnMLc= +go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0/go.mod h1:m2acg7G5Rb8Srm5aK4rD7mUDQhd1r/qXq1DJxdhMAcQ= +go.opentelemetry.io/collector/processor v0.119.0 h1:mqmdR/f4I/ud2jwODqwPZvJk/TCU+AjoCAyattyKXmE= +go.opentelemetry.io/collector/processor v0.119.0/go.mod h1:N0XxvcnM1EYmZ/NiGNsFpi3bEzZ9+C6bVZKDa7tUduw= +go.opentelemetry.io/collector/processor/batchprocessor v0.119.0 h1:Pu9LZry4SPuC9z9wmv1Sd+LQhLLIV0FD+TDVM3UHcww= +go.opentelemetry.io/collector/processor/batchprocessor v0.119.0/go.mod h1:yiyXOAw+O2/j8YrlHWntZM0+D2CKPJ8AUQpXFyfjYCU= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0 h1:SELqVDUuzQNiLWYbXT/B9KGBlOxRPlvC1ImuyNOU6qY= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0/go.mod h1:aXoBlLNh0Shg+gR3aM+5YD7fQUojakuWKU4I/COYZ9g= +go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.119.0 h1:4WycsCvkb354qnD28Pt734l3UWfNDL+Ak4EQE8cG4JA= +go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.119.0/go.mod h1:gKTFrNsq2Y9YSiUWYaBnNUSqyBytmMif0za1MzQht44= +go.opentelemetry.io/collector/processor/processortest v0.119.0 h1:0/mWuyDvELipmEIMVscOAy1vAcwUttym8yb+KLOJXmc= +go.opentelemetry.io/collector/processor/processortest v0.119.0/go.mod h1:JGqoUDWC3aFbyPbpZbdvTTDssvR7Rgfpf72VY5FeDHw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0 h1:qWWcMgde/2cLBg9MUQk0AcxC/aD34wz2GY3qrWeEHiw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0/go.mod h1:ZYtJGcZSDEB54vzulS8jdlYBpPbjklEODaVRc27TlxE= +go.opentelemetry.io/collector/receiver v0.119.0 h1:ZatoS4POR+XDkN1WwAv18Ism9f/FUsIjtVT4MIZbQS0= +go.opentelemetry.io/collector/receiver v0.119.0/go.mod h1:JUSsVwyKKQVD/Fy3T98OHOlVHE15Z7juba5RQzG3AXc= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0 h1:opx0DmIFTI61hm7dLiAlLJ/+JxY9/gjYnPpfEob0m3U= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0/go.mod h1:kgzvqb2lgZyREX4v16reRgqYPuhKOWtZFGhkI9l6zTo= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0 h1:thZkyftPCNit/m2bUUC+zaR1+hbXoSkCDtNN/vZIZSg= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0/go.mod h1:DZM70vofnquGkQiTfT5ZSFZlohxANl9XOrVq9h5IKnc= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 h1:ZcTO+h+r9TyR1XgMhA7FTSTV9RF+z/IDPrcRIg1l56U= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0/go.mod h1:AkoWhnYFMygK7Tlzez398ti20NqydX8wxPVWU86+baE= +go.opentelemetry.io/collector/scraper v0.119.0 h1:fn9tcIFPkBzmqCYAOqYu8Ly1ygER/EzNIpf+2taUPVs= +go.opentelemetry.io/collector/scraper v0.119.0/go.mod h1:svo1G6dWv7lLdagaa+aOq6bpSJ8F6vOxYHDkH7uNypg= +go.opentelemetry.io/collector/scraper/scraperhelper v0.119.0 h1:uRSZcOHRUgXwW4hkseXOhRmHBg5SW9rvDjG0XoBeWbs= +go.opentelemetry.io/collector/scraper/scraperhelper v0.119.0/go.mod h1:EmnOapVu/TaKsbqvo928UmphG0JcNuHZcJwPAHMD9/k= +go.opentelemetry.io/collector/scraper/scrapertest v0.119.0 h1:ROL6ZdFwb2DxRHb8jzjkc5JX0MutgR3xAZzPERzcA0U= +go.opentelemetry.io/collector/scraper/scrapertest v0.119.0/go.mod h1:Q46oBgzjB6Hkys4dmS1ZXzxD9w8VabNv+uvuzLnr5uc= +go.opentelemetry.io/collector/semconv v0.119.0 h1:xo+V3a7hnK0I6fxAWCXT8BIT1PCBYd4emolhoKSDUlI= +go.opentelemetry.io/collector/semconv v0.119.0/go.mod h1:N6XE8Q0JKgBN2fAhkUQtqK9LT7rEGR6+Wu/Rtbal1iI= +go.opentelemetry.io/collector/service v0.119.0 h1:AP2dFx7h0VslEJfc9dt8Bbbggm1iA1iUGLzahvAPZMk= +go.opentelemetry.io/collector/service v0.119.0/go.mod h1:p/kOqK7POtrT9Jz+tAx/UtzlzokSHhFyi7eAETRgmt8= +go.opentelemetry.io/contrib/bridges/otelzap v0.9.0 h1:f+xpAfhQTjR8beiSMe1bnT/25PkeyWmOcI+SjXWguNw= +go.opentelemetry.io/contrib/bridges/otelzap v0.9.0/go.mod h1:T1Z1jyS5FttgQoF6UcGhnM+gF9wU32B4lHO69nXw4FE= +go.opentelemetry.io/contrib/config v0.14.0 h1:QAG8uHNp5ZiCkpT7XggSmg5AyW1sA0LgypMoXgBB1+4= +go.opentelemetry.io/contrib/config v0.14.0/go.mod h1:77rDmFPqBae5jtQ2C78RuDTHz4P27C8LzoN0MZyumYQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 h1:rgMkmiGfix9vFJDcDi1PK8WEQP4FLQwLDfhp5ZLpFeE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0/go.mod h1:ijPqXp5P6IRRByFVVg9DY8P5HkxkHE5ARIa+86aXPf4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I= +go.opentelemetry.io/contrib/propagators/b3 v1.34.0 h1:9pQdCEvV/6RWQmag94D6rhU+A4rzUhYBEJ8bpscx5p8= +go.opentelemetry.io/contrib/propagators/b3 v1.34.0/go.mod h1:FwM71WS8i1/mAK4n48t0KU6qUS/OZRBgDrHZv3RlJ+w= +go.opentelemetry.io/contrib/zpages v0.59.0 h1:t0H5zUy8fifIhRuVwm2FrA/D70Kk10SSpAEvvbaNscw= +go.opentelemetry.io/contrib/zpages v0.59.0/go.mod h1:9wo+yUPvHnBQEzoHJ8R3nA/Q5rkef7HjtLlSFI0Tgrc= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= -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.32.0 h1:j7ZSD+5yn+lo3sGV69nW04rRR0jhYnBwjuX3r0HvnK0= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0/go.mod h1:WXbYJTUaZXAbYd8lbgGuvih0yuCfOFC5RJoYnoLcGz8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 h1:t/Qur3vKSkUCcDVaSumWF2PKHt85pc7fRvFuoVT8qFU= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0/go.mod h1:Rl61tySSdcOJWoEgYZVtmnKdA0GeKrSqkHC1t+91CH8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 h1:5pojmb1U1AogINhN3SurB+zm/nIcusopeBNp42f45QM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0/go.mod h1:57gTHJSE5S1tqg+EKsLPlTWhpHMsWlVmer+LA926XiA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0 h1:wpMfgF8E1rkrT1Z6meFh1NDtownE9Ii3n3X2GJYjsaU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0/go.mod h1:wAy0T/dUbs468uOlkT31xjvqQgEVXv58BRFWEgn5v/0= -go.opentelemetry.io/otel/exporters/prometheus v0.55.0 h1:sSPw658Lk2NWAv74lkD3B/RSDb+xRFx46GjkrL3VUZo= -go.opentelemetry.io/otel/exporters/prometheus v0.55.0/go.mod h1:nC00vyCmQixoeaxF6KNyP42II/RHa9UdruK02qBmHvI= -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.32.0 h1:SZmDnHcgp3zwlPBS2JX2urGYe/jBKEIT6ZedHRUyCz8= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.32.0/go.mod h1:fdWW0HtZJ7+jNpTKUR0GpMEDP69nR8YBJQxNiVCE3jk= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.33.0 h1:W5AWUn/IVe8RFb5pZx1Uh9Laf/4+Qmm4kJL5zPuvR+0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.33.0/go.mod h1:mzKxJywMNBdEX8TSJais3NnsVZUaJ+bAy6UxPTng2vk= -go.opentelemetry.io/otel/log v0.8.0 h1:egZ8vV5atrUWUbnSsHn6vB8R21G2wrKqNiDt3iWertk= -go.opentelemetry.io/otel/log v0.8.0/go.mod h1:M9qvDdUTRCopJcGRKg57+JSQ9LgLBrwwfC32epk5NX8= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0 h1:5dTKu4I5Dn4P2hxyW3l3jTaZx9ACgg0ECos1eAVrheY= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0/go.mod h1:P5HcUI8obLrCCmM3sbVBohZFH34iszk/+CPWuakZWL8= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0 h1:q/heq5Zh8xV1+7GoMGJpTxM2Lhq5+bFxB29tshuRuw0= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0/go.mod h1:leO2CSTg0Y+LyvmR7Wm4pUxE8KAmaM2GCVx7O+RATLA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0 h1:ajl4QczuJVA2TU9W9AGw++86Xga/RKt//16z/yxPgdk= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0/go.mod h1:Vn3/rlOJ3ntf/Q3zAI0V5lDnTbHGaUsNUeF6nZmm7pA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0 h1:opwv08VbCZ8iecIWs+McMdHRcAXzjAeda3uG2kI/hcA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0/go.mod h1:oOP3ABpW7vFHulLpE8aYtNBodrHhMTrvfxUXGvqm7Ac= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.34.0 h1:BEj3SPM81McUZHYjRS5pEgNgnmzGJ5tRpU5krWnV8Bs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.34.0/go.mod h1:9cKLGBDzI/F3NoHLQGm4ZrYdIHsvGt6ej6hUowxY0J4= +go.opentelemetry.io/otel/exporters/prometheus v0.56.0 h1:GnCIi0QyG0yy2MrJLzVrIM7laaJstj//flf1zEJCG+E= +go.opentelemetry.io/otel/exporters/prometheus v0.56.0/go.mod h1:JQcVZtbIIPM+7SWBB+T6FK+xunlyidwLp++fN0sUaOk= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.10.0 h1:GKCEAZLEpEf78cUvudQdTg0aET2ObOZRB2HtXA0qPAI= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.10.0/go.mod h1:9/zqSWLCmHT/9Jo6fYeUDRRogOLL60ABLsHWS99lF8s= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.34.0 h1:czJDQwFrMbOr9Kk+BPo1y8WZIIFIK58SA1kykuVeiOU= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.34.0/go.mod h1:lT7bmsxOe58Tq+JIOkTQMCGXdu47oA+VJKLZHbaBKbs= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.34.0 h1:jBpDk4HAUsrnVO1FsfCfCOTEc/MkInJmvfCHYLFiT80= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.34.0/go.mod h1:H9LUIM1daaeZaz91vZcfeM0fejXPmgCYE8ZhzqfJuiU= +go.opentelemetry.io/otel/log v0.10.0 h1:1CXmspaRITvFcjA4kyVszuG4HjA61fPDxMb7q3BuyF0= +go.opentelemetry.io/otel/log v0.10.0/go.mod h1:PbVdm9bXKku/gL0oFfUF4wwsQsOPlpo4VEqjvxih+FM= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= -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/log v0.10.0 h1:lR4teQGWfeDVGoute6l0Ou+RpFqQ9vaPdrNJlST0bvw= +go.opentelemetry.io/otel/sdk/log v0.10.0/go.mod h1:A+V1UTWREhWAittaQEG4bYm4gAZa6xnvVu+xKrIRkzo= go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= -go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= -go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= +go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= +go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= 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= @@ -1844,6 +1850,7 @@ 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.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +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.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -1894,6 +1901,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b 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-20210726213435-c6fcb2dbf985/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-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= @@ -1992,6 +2000,7 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/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-20210927094055-39ccf1dd6fa6/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-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-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2102,6 +2111,7 @@ golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20210106214847-113979e3529a/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.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= 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.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= @@ -2130,8 +2140,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M 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.216.0 h1:xnEHy+xWFrtYInWPy8OdGFsyIfWJjtVnO39g7pz2BFY= -google.golang.org/api v0.216.0/go.mod h1:K9wzQMvWi47Z9IU7OgdOofvZuw75Ge3PPITImZR/UyI= +google.golang.org/api v0.219.0 h1:nnKIvxKs/06jWawp2liznTBnMRQBEPpGo7I+oEypTX0= +google.golang.org/api v0.219.0/go.mod h1:K6OmjGm+NtLrIkHxv1U3a0qIf/0JOvAHd5O/6AoyKYE= 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= @@ -2170,12 +2180,12 @@ 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 v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= -google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= +google.golang.org/genproto v0.0.0-20250106144421-5f5ef82da422 h1:6GUHKGv2huWOHKmDXLMNE94q3fBDlEHI+oTRIZSebK0= +google.golang.org/genproto v0.0.0-20250106144421-5f5ef82da422/go.mod h1:1NPAxoesyw/SgLPqaUp9u1f9PWCLAk/jVmhx7gJZStg= google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f h1:gap6+3Gk41EItBuyi4XX/bp4oqJ3UwuIMl25yGinuAA= google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:Ic02D47M+zbarjYYUlK57y316f2MoN0gjAwI3f2S95o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 h1:91mG8dNTpkC0uChJUQ9zCiRqx3GEEFOWaRZ0mI6Oj2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= 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= @@ -2191,8 +2201,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.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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= @@ -2205,8 +2215,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/collector/odigosotelcol/main.go b/collector/odigosotelcol/main.go index 3e2223ff97..161f766c52 100644 --- a/collector/odigosotelcol/main.go +++ b/collector/odigosotelcol/main.go @@ -17,7 +17,7 @@ func main() { info := component.BuildInfo{ Command: "odigosotelcol", Description: "OpenTelemetry Collector for Odigos", - Version: "0.118.0", + Version: "0.119.0", } set := otelcol.CollectorSettings{ @@ -30,6 +30,9 @@ func main() { envprovider.NewFactory(), }, }, + }, ProviderModules: map[string]string{ + odigosfileprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/odigos/providers/odigosfileprovider v0.119.0", + envprovider.NewFactory().Create(confmap.ProviderSettings{}).Scheme(): "go.opentelemetry.io/collector/confmap/provider/envprovider v0.119.0", }, } diff --git a/collector/processors/odigosconditionalattributes/generated_component_test.go b/collector/processors/odigosconditionalattributes/generated_component_test.go index 0152f45853..a6f8935cac 100644 --- a/collector/processors/odigosconditionalattributes/generated_component_test.go +++ b/collector/processors/odigosconditionalattributes/generated_component_test.go @@ -32,8 +32,8 @@ func TestComponentLifecycle(t *testing.T) { factory := NewFactory() tests := []struct { - name string createFn func(ctx context.Context, set processor.Settings, cfg component.Config) (component.Component, error) + name string }{ { diff --git a/collector/processors/odigosconditionalattributes/go.mod b/collector/processors/odigosconditionalattributes/go.mod index 288a72ca86..e3cda12b80 100644 --- a/collector/processors/odigosconditionalattributes/go.mod +++ b/collector/processors/odigosconditionalattributes/go.mod @@ -4,14 +4,14 @@ go 1.23.0 require ( github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 - go.opentelemetry.io/collector/processor v0.118.0 - go.opentelemetry.io/collector/processor/processortest v0.118.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 + go.opentelemetry.io/collector/processor v0.119.0 + go.opentelemetry.io/collector/processor/processortest v0.119.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -33,13 +33,13 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.118.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/processor/xprocessor v0.118.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.119.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/processor/xprocessor v0.119.0 // indirect go.opentelemetry.io/otel v1.34.0 // indirect go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect @@ -50,7 +50,7 @@ require ( golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/collector/processors/odigosconditionalattributes/go.sum b/collector/processors/odigosconditionalattributes/go.sum index a6fce5b710..f17ed51a80 100644 --- a/collector/processors/odigosconditionalattributes/go.sum +++ b/collector/processors/odigosconditionalattributes/go.sum @@ -54,36 +54,36 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= -go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/processor v0.118.0 h1:NlqWiTTpPP+EPbrqTcNP9nh/4O4/9U9RGWVB49xo4ws= -go.opentelemetry.io/collector/processor v0.118.0/go.mod h1:Y8OD7wk51oPuBqrbn1qXIK91AbprRHP76hlvEzC24U4= -go.opentelemetry.io/collector/processor/processortest v0.118.0 h1:VfTLHuIaJWGyUmrvAOvf63gPMf1vAW68/jtJClEsKtU= -go.opentelemetry.io/collector/processor/processortest v0.118.0/go.mod h1:ZFWxsSoafGNOEk83FtGz43M5ypUzAOvGnfT0aQTDHdU= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0 h1:M/EMhPRbadHLpv7g99fBjfgyuYexBZmgQqb2vjTXjvM= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0/go.mod h1:lkoQoCv2Cz+C0kf2VHgBUDYWDecZLLeaHEvHDXbBCXU= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/processor v0.119.0 h1:mqmdR/f4I/ud2jwODqwPZvJk/TCU+AjoCAyattyKXmE= +go.opentelemetry.io/collector/processor v0.119.0/go.mod h1:N0XxvcnM1EYmZ/NiGNsFpi3bEzZ9+C6bVZKDa7tUduw= +go.opentelemetry.io/collector/processor/processortest v0.119.0 h1:0/mWuyDvELipmEIMVscOAy1vAcwUttym8yb+KLOJXmc= +go.opentelemetry.io/collector/processor/processortest v0.119.0/go.mod h1:JGqoUDWC3aFbyPbpZbdvTTDssvR7Rgfpf72VY5FeDHw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0 h1:qWWcMgde/2cLBg9MUQk0AcxC/aD34wz2GY3qrWeEHiw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0/go.mod h1:ZYtJGcZSDEB54vzulS8jdlYBpPbjklEODaVRc27TlxE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -133,10 +133,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-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/collector/processors/odigosresourcenameprocessor/generated_component_test.go b/collector/processors/odigosresourcenameprocessor/generated_component_test.go index 52c7555ffa..fc8b96db82 100644 --- a/collector/processors/odigosresourcenameprocessor/generated_component_test.go +++ b/collector/processors/odigosresourcenameprocessor/generated_component_test.go @@ -32,8 +32,8 @@ func TestComponentLifecycle(t *testing.T) { factory := NewFactory() tests := []struct { - name string createFn func(ctx context.Context, set processor.Settings, cfg component.Config) (component.Component, error) + name string }{ { diff --git a/collector/processors/odigosresourcenameprocessor/go.mod b/collector/processors/odigosresourcenameprocessor/go.mod index a445bc78e2..2929ee9f32 100644 --- a/collector/processors/odigosresourcenameprocessor/go.mod +++ b/collector/processors/odigosresourcenameprocessor/go.mod @@ -3,22 +3,22 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processo go 1.23.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.118.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0 github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 - go.opentelemetry.io/collector/processor v0.118.0 - go.opentelemetry.io/collector/processor/processortest v0.118.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 + go.opentelemetry.io/collector/processor v0.119.0 + go.opentelemetry.io/collector/processor/processortest v0.119.0 go.opentelemetry.io/otel v1.34.0 go.opentelemetry.io/otel/metric v1.34.0 go.opentelemetry.io/otel/trace v1.34.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.69.4 + google.golang.org/grpc v1.70.0 k8s.io/apimachinery v0.31.3 k8s.io/client-go v0.31.3 k8s.io/kubelet v0.26.1 @@ -57,13 +57,13 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.118.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/processor/xprocessor v0.118.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.119.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/processor/xprocessor v0.119.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect go.uber.org/multierr v1.11.0 // indirect @@ -74,8 +74,8 @@ require ( golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.4.0 // indirect golang.org/x/tools v0.28.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/collector/processors/odigosresourcenameprocessor/go.sum b/collector/processors/odigosresourcenameprocessor/go.sum index 7abedc2350..8793f602f0 100644 --- a/collector/processors/odigosresourcenameprocessor/go.sum +++ b/collector/processors/odigosresourcenameprocessor/go.sum @@ -337,8 +337,8 @@ github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGV github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.118.0 h1:94Xf/jV2ewqnVRA/CUKvNKZ5p3+mEtrMcPE1Xw9lk18= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.118.0/go.mod h1:GhC+Pk3PbAIq52vmYr+d6PN4Hnxyp4lGQMbomI7Bom8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0 h1:Rfn7AHN559aaxqKwFWlG36HuHlhl7dbIspKC/O1H8EQ= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0/go.mod h1:GhC+Pk3PbAIq52vmYr+d6PN4Hnxyp4lGQMbomI7Bom8= github.com/openshift/api v0.0.0-20210521075222-e273a339932a/go.mod h1:izBmoXbUu3z5kUa4FjZhvekTsyzIWiOoaIgJiZBBMQs= github.com/openshift/api v3.9.0+incompatible h1:fJ/KsefYuZAjmrr3+5U9yZIZbTOpVkDDLDLFresAeYs= github.com/openshift/api v3.9.0+incompatible/go.mod h1:dh9o4Fs58gpFXGSYfnVxGR9PnV53I8TW84pQaJDdGiY= @@ -419,36 +419,36 @@ 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/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= -go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/processor v0.118.0 h1:NlqWiTTpPP+EPbrqTcNP9nh/4O4/9U9RGWVB49xo4ws= -go.opentelemetry.io/collector/processor v0.118.0/go.mod h1:Y8OD7wk51oPuBqrbn1qXIK91AbprRHP76hlvEzC24U4= -go.opentelemetry.io/collector/processor/processortest v0.118.0 h1:VfTLHuIaJWGyUmrvAOvf63gPMf1vAW68/jtJClEsKtU= -go.opentelemetry.io/collector/processor/processortest v0.118.0/go.mod h1:ZFWxsSoafGNOEk83FtGz43M5ypUzAOvGnfT0aQTDHdU= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0 h1:M/EMhPRbadHLpv7g99fBjfgyuYexBZmgQqb2vjTXjvM= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0/go.mod h1:lkoQoCv2Cz+C0kf2VHgBUDYWDecZLLeaHEvHDXbBCXU= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/processor v0.119.0 h1:mqmdR/f4I/ud2jwODqwPZvJk/TCU+AjoCAyattyKXmE= +go.opentelemetry.io/collector/processor v0.119.0/go.mod h1:N0XxvcnM1EYmZ/NiGNsFpi3bEzZ9+C6bVZKDa7tUduw= +go.opentelemetry.io/collector/processor/processortest v0.119.0 h1:0/mWuyDvELipmEIMVscOAy1vAcwUttym8yb+KLOJXmc= +go.opentelemetry.io/collector/processor/processortest v0.119.0/go.mod h1:JGqoUDWC3aFbyPbpZbdvTTDssvR7Rgfpf72VY5FeDHw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0 h1:qWWcMgde/2cLBg9MUQk0AcxC/aD34wz2GY3qrWeEHiw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0/go.mod h1:ZYtJGcZSDEB54vzulS8jdlYBpPbjklEODaVRc27TlxE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -711,8 +711,8 @@ google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 h1:91mG8dNTpkC0uChJUQ9zCiRqx3GEEFOWaRZ0mI6Oj2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -725,8 +725,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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= @@ -738,8 +738,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/collector/processors/odigossamplingprocessor/generated_component_test.go b/collector/processors/odigossamplingprocessor/generated_component_test.go index 01be3e6aaf..b24ce75360 100644 --- a/collector/processors/odigossamplingprocessor/generated_component_test.go +++ b/collector/processors/odigossamplingprocessor/generated_component_test.go @@ -32,8 +32,8 @@ func TestComponentLifecycle(t *testing.T) { factory := NewFactory() tests := []struct { - name string createFn func(ctx context.Context, set processor.Settings, cfg component.Config) (component.Component, error) + name string }{ { diff --git a/collector/processors/odigossamplingprocessor/go.mod b/collector/processors/odigossamplingprocessor/go.mod index 15ac01fbf7..b06a4e6891 100644 --- a/collector/processors/odigossamplingprocessor/go.mod +++ b/collector/processors/odigossamplingprocessor/go.mod @@ -5,14 +5,14 @@ go 1.23.0 require ( github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 - go.opentelemetry.io/collector/processor v0.118.0 - go.opentelemetry.io/collector/processor/processortest v0.118.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 + go.opentelemetry.io/collector/processor v0.119.0 + go.opentelemetry.io/collector/processor/processortest v0.119.0 go.opentelemetry.io/otel v1.34.0 go.opentelemetry.io/otel/metric v1.34.0 go.opentelemetry.io/otel/trace v1.34.0 @@ -36,21 +36,21 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.118.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/processor/xprocessor v0.118.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.119.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/processor/xprocessor v0.119.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.34.0 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/collector/processors/odigossamplingprocessor/go.sum b/collector/processors/odigossamplingprocessor/go.sum index 8f8677b1c6..9f7ceb8df3 100644 --- a/collector/processors/odigossamplingprocessor/go.sum +++ b/collector/processors/odigossamplingprocessor/go.sum @@ -261,36 +261,36 @@ go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3 go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= -go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/processor v0.118.0 h1:NlqWiTTpPP+EPbrqTcNP9nh/4O4/9U9RGWVB49xo4ws= -go.opentelemetry.io/collector/processor v0.118.0/go.mod h1:Y8OD7wk51oPuBqrbn1qXIK91AbprRHP76hlvEzC24U4= -go.opentelemetry.io/collector/processor/processortest v0.118.0 h1:VfTLHuIaJWGyUmrvAOvf63gPMf1vAW68/jtJClEsKtU= -go.opentelemetry.io/collector/processor/processortest v0.118.0/go.mod h1:ZFWxsSoafGNOEk83FtGz43M5ypUzAOvGnfT0aQTDHdU= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0 h1:M/EMhPRbadHLpv7g99fBjfgyuYexBZmgQqb2vjTXjvM= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0/go.mod h1:lkoQoCv2Cz+C0kf2VHgBUDYWDecZLLeaHEvHDXbBCXU= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/processor v0.119.0 h1:mqmdR/f4I/ud2jwODqwPZvJk/TCU+AjoCAyattyKXmE= +go.opentelemetry.io/collector/processor v0.119.0/go.mod h1:N0XxvcnM1EYmZ/NiGNsFpi3bEzZ9+C6bVZKDa7tUduw= +go.opentelemetry.io/collector/processor/processortest v0.119.0 h1:0/mWuyDvELipmEIMVscOAy1vAcwUttym8yb+KLOJXmc= +go.opentelemetry.io/collector/processor/processortest v0.119.0/go.mod h1:JGqoUDWC3aFbyPbpZbdvTTDssvR7Rgfpf72VY5FeDHw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0 h1:qWWcMgde/2cLBg9MUQk0AcxC/aD34wz2GY3qrWeEHiw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0/go.mod h1:ZYtJGcZSDEB54vzulS8jdlYBpPbjklEODaVRc27TlxE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -420,8 +420,8 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 h1:91mG8dNTpkC0uChJUQ9zCiRqx3GEEFOWaRZ0mI6Oj2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= @@ -430,8 +430,8 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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= @@ -443,8 +443,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/collector/processors/odigossourcesfilterprocessor/generated_component_test.go b/collector/processors/odigossourcesfilterprocessor/generated_component_test.go index 0c580ac971..b9609b0f2e 100644 --- a/collector/processors/odigossourcesfilterprocessor/generated_component_test.go +++ b/collector/processors/odigossourcesfilterprocessor/generated_component_test.go @@ -32,8 +32,8 @@ func TestComponentLifecycle(t *testing.T) { factory := NewFactory() tests := []struct { - name string createFn func(ctx context.Context, set processor.Settings, cfg component.Config) (component.Component, error) + name string }{ { diff --git a/collector/processors/odigossourcesfilterprocessor/go.mod b/collector/processors/odigossourcesfilterprocessor/go.mod index 5f706c12e8..8e56a0c1fe 100644 --- a/collector/processors/odigossourcesfilterprocessor/go.mod +++ b/collector/processors/odigossourcesfilterprocessor/go.mod @@ -3,10 +3,10 @@ module github.com/odigos-io/odigos/processor/odigossourcesfilterprocessor go 1.23.0 require ( - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/pdata v1.24.0 - go.opentelemetry.io/collector/processor v0.118.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/pdata v1.25.0 + go.opentelemetry.io/collector/processor v0.119.0 go.opentelemetry.io/otel v1.34.0 // indirect go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/trace v1.34.0 // indirect @@ -15,10 +15,10 @@ require ( require ( github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 - go.opentelemetry.io/collector/processor/processortest v0.118.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 + go.opentelemetry.io/collector/processor/processortest v0.119.0 go.uber.org/goleak v1.3.0 ) @@ -39,13 +39,13 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.118.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/processor/xprocessor v0.118.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.119.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/processor/xprocessor v0.119.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect go.uber.org/multierr v1.11.0 // indirect @@ -53,7 +53,7 @@ require ( golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/collector/processors/odigossourcesfilterprocessor/go.sum b/collector/processors/odigossourcesfilterprocessor/go.sum index a6fce5b710..f17ed51a80 100644 --- a/collector/processors/odigossourcesfilterprocessor/go.sum +++ b/collector/processors/odigossourcesfilterprocessor/go.sum @@ -54,36 +54,36 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= -go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/processor v0.118.0 h1:NlqWiTTpPP+EPbrqTcNP9nh/4O4/9U9RGWVB49xo4ws= -go.opentelemetry.io/collector/processor v0.118.0/go.mod h1:Y8OD7wk51oPuBqrbn1qXIK91AbprRHP76hlvEzC24U4= -go.opentelemetry.io/collector/processor/processortest v0.118.0 h1:VfTLHuIaJWGyUmrvAOvf63gPMf1vAW68/jtJClEsKtU= -go.opentelemetry.io/collector/processor/processortest v0.118.0/go.mod h1:ZFWxsSoafGNOEk83FtGz43M5ypUzAOvGnfT0aQTDHdU= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0 h1:M/EMhPRbadHLpv7g99fBjfgyuYexBZmgQqb2vjTXjvM= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0/go.mod h1:lkoQoCv2Cz+C0kf2VHgBUDYWDecZLLeaHEvHDXbBCXU= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/processor v0.119.0 h1:mqmdR/f4I/ud2jwODqwPZvJk/TCU+AjoCAyattyKXmE= +go.opentelemetry.io/collector/processor v0.119.0/go.mod h1:N0XxvcnM1EYmZ/NiGNsFpi3bEzZ9+C6bVZKDa7tUduw= +go.opentelemetry.io/collector/processor/processortest v0.119.0 h1:0/mWuyDvELipmEIMVscOAy1vAcwUttym8yb+KLOJXmc= +go.opentelemetry.io/collector/processor/processortest v0.119.0/go.mod h1:JGqoUDWC3aFbyPbpZbdvTTDssvR7Rgfpf72VY5FeDHw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0 h1:qWWcMgde/2cLBg9MUQk0AcxC/aD34wz2GY3qrWeEHiw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0/go.mod h1:ZYtJGcZSDEB54vzulS8jdlYBpPbjklEODaVRc27TlxE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -133,10 +133,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-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/collector/processors/odigossqldboperationprocessor/generated_component_test.go b/collector/processors/odigossqldboperationprocessor/generated_component_test.go index 5b4e163874..295cbc17e8 100644 --- a/collector/processors/odigossqldboperationprocessor/generated_component_test.go +++ b/collector/processors/odigossqldboperationprocessor/generated_component_test.go @@ -32,8 +32,8 @@ func TestComponentLifecycle(t *testing.T) { factory := NewFactory() tests := []struct { - name string createFn func(ctx context.Context, set processor.Settings, cfg component.Config) (component.Component, error) + name string }{ { diff --git a/collector/processors/odigossqldboperationprocessor/go.mod b/collector/processors/odigossqldboperationprocessor/go.mod index 9211e75588..12ca440031 100644 --- a/collector/processors/odigossqldboperationprocessor/go.mod +++ b/collector/processors/odigossqldboperationprocessor/go.mod @@ -4,26 +4,26 @@ go 1.23.0 require ( github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 - go.opentelemetry.io/collector/processor v0.118.0 - go.opentelemetry.io/collector/processor/processortest v0.118.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 + go.opentelemetry.io/collector/processor v0.119.0 + go.opentelemetry.io/collector/processor/processortest v0.119.0 go.opentelemetry.io/otel v1.34.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/processor/xprocessor v0.118.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/processor/xprocessor v0.119.0 // indirect ) require ( @@ -42,11 +42,11 @@ 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/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.118.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.119.0 // indirect go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect @@ -56,7 +56,7 @@ require ( golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/collector/processors/odigossqldboperationprocessor/go.sum b/collector/processors/odigossqldboperationprocessor/go.sum index d26347b28f..0ef53d43f9 100644 --- a/collector/processors/odigossqldboperationprocessor/go.sum +++ b/collector/processors/odigossqldboperationprocessor/go.sum @@ -43,12 +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/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0 h1:Pho1MwH+cvosN6pOinGhunBwAJyyAwFnbIW5x7N/37A= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0/go.mod h1:IMy3f4XjwIu+PZF9Qq5T6WZ/+mOL9l+SFjPYEQuWZh8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0 h1:DSoYrOjLv23HXpx72hl61br4ZZTj6dqtwZSGoypKWIA= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0/go.mod h1:nR+r7aAbsktscJk4fGmzljblbZBMaiZcIWeKbXV+HmY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 h1:aUTSkzJExtrlHN32g8hX/cRNEo2ZmucPg+vwPqOYvhg= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0/go.mod h1:a3sewj4nEozMwcNwZTHPzddS+1BnA6BaAkO/CRIGHVU= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.119.0 h1:Nc1rvF/hxp8TwYOSsA2qmvIQlS+8lougZsyxcTN6U78= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.119.0/go.mod h1:7ePS4L6s7UcWxxgIQkAiI5db/OxwRAV9+kziKVIO3Y8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0 h1:2ztsxw6DH2CbXbykCGgPSZmHHRilNuD06VOfI/z9xGs= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0/go.mod h1:q5LK/pXBToCu4W+tSVWM2ST5jOWqvDMVVCB7TQqhsbY= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0 h1:qSnBSa1zO4szSQOrVyinm/9Bg68oYv6NarcaV4Rusr8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0/go.mod h1:udnlBYxPMO+odronKnPfYY8M+BnxfaQFXuJgfI5miUw= 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= @@ -62,36 +62,36 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= -go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/processor v0.118.0 h1:NlqWiTTpPP+EPbrqTcNP9nh/4O4/9U9RGWVB49xo4ws= -go.opentelemetry.io/collector/processor v0.118.0/go.mod h1:Y8OD7wk51oPuBqrbn1qXIK91AbprRHP76hlvEzC24U4= -go.opentelemetry.io/collector/processor/processortest v0.118.0 h1:VfTLHuIaJWGyUmrvAOvf63gPMf1vAW68/jtJClEsKtU= -go.opentelemetry.io/collector/processor/processortest v0.118.0/go.mod h1:ZFWxsSoafGNOEk83FtGz43M5ypUzAOvGnfT0aQTDHdU= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0 h1:M/EMhPRbadHLpv7g99fBjfgyuYexBZmgQqb2vjTXjvM= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0/go.mod h1:lkoQoCv2Cz+C0kf2VHgBUDYWDecZLLeaHEvHDXbBCXU= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/processor v0.119.0 h1:mqmdR/f4I/ud2jwODqwPZvJk/TCU+AjoCAyattyKXmE= +go.opentelemetry.io/collector/processor v0.119.0/go.mod h1:N0XxvcnM1EYmZ/NiGNsFpi3bEzZ9+C6bVZKDa7tUduw= +go.opentelemetry.io/collector/processor/processortest v0.119.0 h1:0/mWuyDvELipmEIMVscOAy1vAcwUttym8yb+KLOJXmc= +go.opentelemetry.io/collector/processor/processortest v0.119.0/go.mod h1:JGqoUDWC3aFbyPbpZbdvTTDssvR7Rgfpf72VY5FeDHw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0 h1:qWWcMgde/2cLBg9MUQk0AcxC/aD34wz2GY3qrWeEHiw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0/go.mod h1:ZYtJGcZSDEB54vzulS8jdlYBpPbjklEODaVRc27TlxE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -141,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-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/collector/processors/odigostrafficmetrics/generated_component_test.go b/collector/processors/odigostrafficmetrics/generated_component_test.go index 0a8cdb93ff..b18ed09d8b 100644 --- a/collector/processors/odigostrafficmetrics/generated_component_test.go +++ b/collector/processors/odigostrafficmetrics/generated_component_test.go @@ -32,8 +32,8 @@ func TestComponentLifecycle(t *testing.T) { factory := NewFactory() tests := []struct { - name string createFn func(ctx context.Context, set processor.Settings, cfg component.Config) (component.Component, error) + name string }{ { diff --git a/collector/processors/odigostrafficmetrics/go.mod b/collector/processors/odigostrafficmetrics/go.mod index 62bec36c2c..a2c914e869 100644 --- a/collector/processors/odigostrafficmetrics/go.mod +++ b/collector/processors/odigostrafficmetrics/go.mod @@ -3,24 +3,22 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/odigos/processo go 1.23.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0 github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 - go.opentelemetry.io/collector/processor v0.118.0 - go.opentelemetry.io/collector/processor/processortest v0.118.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 + go.opentelemetry.io/collector/processor v0.119.0 + go.opentelemetry.io/collector/processor/processortest v0.119.0 go.opentelemetry.io/otel v1.34.0 go.opentelemetry.io/otel/metric v1.34.0 - go.opentelemetry.io/otel/sdk v1.34.0 go.opentelemetry.io/otel/sdk/metric v1.34.0 go.opentelemetry.io/otel/trace v1.34.0 go.uber.org/goleak v1.3.0 - go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 ) @@ -40,20 +38,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/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/processor/xprocessor v0.118.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/processor/xprocessor v0.119.0 // indirect + go.opentelemetry.io/otel/sdk v1.34.0 // indirect + go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.34.0 // indirect golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/collector/processors/odigostrafficmetrics/go.sum b/collector/processors/odigostrafficmetrics/go.sum index d26347b28f..0ef53d43f9 100644 --- a/collector/processors/odigostrafficmetrics/go.sum +++ b/collector/processors/odigostrafficmetrics/go.sum @@ -43,12 +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/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0 h1:Pho1MwH+cvosN6pOinGhunBwAJyyAwFnbIW5x7N/37A= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.118.0/go.mod h1:IMy3f4XjwIu+PZF9Qq5T6WZ/+mOL9l+SFjPYEQuWZh8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0 h1:DSoYrOjLv23HXpx72hl61br4ZZTj6dqtwZSGoypKWIA= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.118.0/go.mod h1:nR+r7aAbsktscJk4fGmzljblbZBMaiZcIWeKbXV+HmY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0 h1:aUTSkzJExtrlHN32g8hX/cRNEo2ZmucPg+vwPqOYvhg= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.118.0/go.mod h1:a3sewj4nEozMwcNwZTHPzddS+1BnA6BaAkO/CRIGHVU= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.119.0 h1:Nc1rvF/hxp8TwYOSsA2qmvIQlS+8lougZsyxcTN6U78= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.119.0/go.mod h1:7ePS4L6s7UcWxxgIQkAiI5db/OxwRAV9+kziKVIO3Y8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0 h1:2ztsxw6DH2CbXbykCGgPSZmHHRilNuD06VOfI/z9xGs= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0/go.mod h1:q5LK/pXBToCu4W+tSVWM2ST5jOWqvDMVVCB7TQqhsbY= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0 h1:qSnBSa1zO4szSQOrVyinm/9Bg68oYv6NarcaV4Rusr8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0/go.mod h1:udnlBYxPMO+odronKnPfYY8M+BnxfaQFXuJgfI5miUw= 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= @@ -62,36 +62,36 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= -go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/processor v0.118.0 h1:NlqWiTTpPP+EPbrqTcNP9nh/4O4/9U9RGWVB49xo4ws= -go.opentelemetry.io/collector/processor v0.118.0/go.mod h1:Y8OD7wk51oPuBqrbn1qXIK91AbprRHP76hlvEzC24U4= -go.opentelemetry.io/collector/processor/processortest v0.118.0 h1:VfTLHuIaJWGyUmrvAOvf63gPMf1vAW68/jtJClEsKtU= -go.opentelemetry.io/collector/processor/processortest v0.118.0/go.mod h1:ZFWxsSoafGNOEk83FtGz43M5ypUzAOvGnfT0aQTDHdU= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0 h1:M/EMhPRbadHLpv7g99fBjfgyuYexBZmgQqb2vjTXjvM= -go.opentelemetry.io/collector/processor/xprocessor v0.118.0/go.mod h1:lkoQoCv2Cz+C0kf2VHgBUDYWDecZLLeaHEvHDXbBCXU= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/processor v0.119.0 h1:mqmdR/f4I/ud2jwODqwPZvJk/TCU+AjoCAyattyKXmE= +go.opentelemetry.io/collector/processor v0.119.0/go.mod h1:N0XxvcnM1EYmZ/NiGNsFpi3bEzZ9+C6bVZKDa7tUduw= +go.opentelemetry.io/collector/processor/processortest v0.119.0 h1:0/mWuyDvELipmEIMVscOAy1vAcwUttym8yb+KLOJXmc= +go.opentelemetry.io/collector/processor/processortest v0.119.0/go.mod h1:JGqoUDWC3aFbyPbpZbdvTTDssvR7Rgfpf72VY5FeDHw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0 h1:qWWcMgde/2cLBg9MUQk0AcxC/aD34wz2GY3qrWeEHiw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0/go.mod h1:ZYtJGcZSDEB54vzulS8jdlYBpPbjklEODaVRc27TlxE= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -141,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-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/collector/processors/odigostrafficmetrics/internal/metadata/generated_telemetry.go b/collector/processors/odigostrafficmetrics/internal/metadata/generated_telemetry.go index 0bce275faa..6ac9f27276 100644 --- a/collector/processors/odigostrafficmetrics/internal/metadata/generated_telemetry.go +++ b/collector/processors/odigostrafficmetrics/internal/metadata/generated_telemetry.go @@ -4,13 +4,12 @@ package metadata import ( "errors" + "sync" "go.opentelemetry.io/otel/metric" - noopmetric "go.opentelemetry.io/otel/metric/noop" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configtelemetry" ) func Meter(settings component.TelemetrySettings) metric.Meter { @@ -25,6 +24,8 @@ func Tracer(settings component.TelemetrySettings) trace.Tracer { // as defined in metadata and user config. type TelemetryBuilder struct { meter metric.Meter + mu sync.Mutex + registrations []metric.Registration OdigosAcceptedLogRecords metric.Int64Counter OdigosAcceptedMetricPoints metric.Int64Counter OdigosAcceptedSpans metric.Int64Counter @@ -44,6 +45,15 @@ func (tbof telemetryBuilderOptionFunc) apply(mb *TelemetryBuilder) { tbof(mb) } +// Shutdown unregister all registered callbacks for async instruments. +func (builder *TelemetryBuilder) Shutdown() { + builder.mu.Lock() + defer builder.mu.Unlock() + for _, reg := range builder.registrations { + reg.Unregister() + } +} + // NewTelemetryBuilder provides a struct with methods to update all internal telemetry // for a component func NewTelemetryBuilder(settings component.TelemetrySettings, options ...TelemetryBuilderOption) (*TelemetryBuilder, error) { @@ -53,37 +63,37 @@ func NewTelemetryBuilder(settings component.TelemetrySettings, options ...Teleme } builder.meter = Meter(settings) var err, errs error - builder.OdigosAcceptedLogRecords, err = getLeveledMeter(builder.meter, configtelemetry.LevelBasic, settings.MetricsLevel).Int64Counter( + builder.OdigosAcceptedLogRecords, err = builder.meter.Int64Counter( "otelcol_odigos_accepted_log_records", metric.WithDescription("Number of log records passed through the processor."), metric.WithUnit("{records}"), ) errs = errors.Join(errs, err) - builder.OdigosAcceptedMetricPoints, err = getLeveledMeter(builder.meter, configtelemetry.LevelBasic, settings.MetricsLevel).Int64Counter( + builder.OdigosAcceptedMetricPoints, err = builder.meter.Int64Counter( "otelcol_odigos_accepted_metric_points", metric.WithDescription("Number of data points passed through the processor."), metric.WithUnit("{datapoints}"), ) errs = errors.Join(errs, err) - builder.OdigosAcceptedSpans, err = getLeveledMeter(builder.meter, configtelemetry.LevelBasic, settings.MetricsLevel).Int64Counter( + builder.OdigosAcceptedSpans, err = builder.meter.Int64Counter( "otelcol_odigos_accepted_spans", metric.WithDescription("Number of spans passed through the processor."), metric.WithUnit("{spans}"), ) errs = errors.Join(errs, err) - builder.OdigosLogDataSize, err = getLeveledMeter(builder.meter, configtelemetry.LevelBasic, settings.MetricsLevel).Int64Counter( + builder.OdigosLogDataSize, err = builder.meter.Int64Counter( "otelcol_odigos_log_data_size", metric.WithDescription("Total size of log data passed to the processor"), metric.WithUnit("By"), ) errs = errors.Join(errs, err) - builder.OdigosMetricDataSize, err = getLeveledMeter(builder.meter, configtelemetry.LevelBasic, settings.MetricsLevel).Int64Counter( + builder.OdigosMetricDataSize, err = builder.meter.Int64Counter( "otelcol_odigos_metric_data_size", metric.WithDescription("Total size of metric data passed to the processor"), metric.WithUnit("By"), ) errs = errors.Join(errs, err) - builder.OdigosTraceDataSize, err = getLeveledMeter(builder.meter, configtelemetry.LevelBasic, settings.MetricsLevel).Int64Counter( + builder.OdigosTraceDataSize, err = builder.meter.Int64Counter( "otelcol_odigos_trace_data_size", metric.WithDescription("Total size of trace data passed to the processor"), metric.WithUnit("By"), @@ -91,10 +101,3 @@ func NewTelemetryBuilder(settings component.TelemetrySettings, options ...Teleme errs = errors.Join(errs, err) return &builder, errs } - -func getLeveledMeter(meter metric.Meter, cfgLevel, srvLevel configtelemetry.Level) metric.Meter { - if cfgLevel <= srvLevel { - return meter - } - return noopmetric.Meter{} -} diff --git a/collector/processors/odigostrafficmetrics/internal/metadatatest/generated_telemetrytest.go b/collector/processors/odigostrafficmetrics/internal/metadatatest/generated_telemetrytest.go index 177244a0a6..a23a322702 100644 --- a/collector/processors/odigostrafficmetrics/internal/metadatatest/generated_telemetrytest.go +++ b/collector/processors/odigostrafficmetrics/internal/metadatatest/generated_telemetrytest.go @@ -7,60 +7,43 @@ import ( "testing" "github.com/stretchr/testify/require" - sdkmetric "go.opentelemetry.io/otel/sdk/metric" - "go.opentelemetry.io/otel/sdk/metric/metricdata" - "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest" - sdktrace "go.opentelemetry.io/otel/sdk/trace" - "go.opentelemetry.io/otel/sdk/trace/tracetest" - "go.uber.org/multierr" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/configtelemetry" "go.opentelemetry.io/collector/processor" "go.opentelemetry.io/collector/processor/processortest" + "go.opentelemetry.io/otel/sdk/metric/metricdata" + "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest" ) +// Deprecated: [v0.119.0] Use componenttest.Telemetry type Telemetry struct { - Reader *sdkmetric.ManualReader - SpanRecorder *tracetest.SpanRecorder - - meterProvider *sdkmetric.MeterProvider - traceProvider *sdktrace.TracerProvider + *componenttest.Telemetry } -func SetupTelemetry() Telemetry { - reader := sdkmetric.NewManualReader() - spanRecorder := new(tracetest.SpanRecorder) - return Telemetry{ - Reader: reader, - SpanRecorder: spanRecorder, - - meterProvider: sdkmetric.NewMeterProvider(sdkmetric.WithReader(reader)), - traceProvider: sdktrace.NewTracerProvider(sdktrace.WithSpanProcessor(spanRecorder)), - } +// Deprecated: [v0.119.0] Use componenttest.NewTelemetry +func SetupTelemetry(opts ...componenttest.TelemetryOption) Telemetry { + return Telemetry{Telemetry: componenttest.NewTelemetry(opts...)} } + +// Deprecated: [v0.119.0] Use metadatatest.NewSettings func (tt *Telemetry) NewSettings() processor.Settings { + return NewSettings(tt.Telemetry) +} + +func NewSettings(tt *componenttest.Telemetry) processor.Settings { set := processortest.NewNopSettings() set.ID = component.NewID(component.MustNewType("odigostrafficmetrics")) set.TelemetrySettings = tt.NewTelemetrySettings() return set } -func (tt *Telemetry) NewTelemetrySettings() component.TelemetrySettings { - set := componenttest.NewNopTelemetrySettings() - set.MeterProvider = tt.meterProvider - set.MetricsLevel = configtelemetry.LevelDetailed - set.TracerProvider = tt.traceProvider - return set -} - +// Deprecated: [v0.119.0] Use metadatatest.AssertEqual* func (tt *Telemetry) AssertMetrics(t *testing.T, expected []metricdata.Metrics, opts ...metricdatatest.Option) { var md metricdata.ResourceMetrics require.NoError(t, tt.Reader.Collect(context.Background(), &md)) // ensure all required metrics are present for _, want := range expected { - got := getMetric(want.Name, md) + got := getMetricFromResource(want.Name, md) metricdatatest.AssertEqual(t, want, got, opts...) } @@ -68,14 +51,103 @@ func (tt *Telemetry) AssertMetrics(t *testing.T, expected []metricdata.Metrics, require.Equal(t, len(expected), lenMetrics(md)) } -func (tt *Telemetry) Shutdown(ctx context.Context) error { - return multierr.Combine( - tt.meterProvider.Shutdown(ctx), - tt.traceProvider.Shutdown(ctx), - ) +func AssertEqualOdigosAcceptedLogRecords(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { + want := metricdata.Metrics{ + Name: "otelcol_odigos_accepted_log_records", + Description: "Number of log records passed through the processor.", + Unit: "{records}", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: dps, + }, + } + got, err := tt.GetMetric("otelcol_odigos_accepted_log_records") + require.NoError(t, err) + metricdatatest.AssertEqual(t, want, got, opts...) +} + +func AssertEqualOdigosAcceptedMetricPoints(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { + want := metricdata.Metrics{ + Name: "otelcol_odigos_accepted_metric_points", + Description: "Number of data points passed through the processor.", + Unit: "{datapoints}", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: dps, + }, + } + got, err := tt.GetMetric("otelcol_odigos_accepted_metric_points") + require.NoError(t, err) + metricdatatest.AssertEqual(t, want, got, opts...) +} + +func AssertEqualOdigosAcceptedSpans(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { + want := metricdata.Metrics{ + Name: "otelcol_odigos_accepted_spans", + Description: "Number of spans passed through the processor.", + Unit: "{spans}", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: dps, + }, + } + got, err := tt.GetMetric("otelcol_odigos_accepted_spans") + require.NoError(t, err) + metricdatatest.AssertEqual(t, want, got, opts...) +} + +func AssertEqualOdigosLogDataSize(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { + want := metricdata.Metrics{ + Name: "otelcol_odigos_log_data_size", + Description: "Total size of log data passed to the processor", + Unit: "By", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: dps, + }, + } + got, err := tt.GetMetric("otelcol_odigos_log_data_size") + require.NoError(t, err) + metricdatatest.AssertEqual(t, want, got, opts...) +} + +func AssertEqualOdigosMetricDataSize(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { + want := metricdata.Metrics{ + Name: "otelcol_odigos_metric_data_size", + Description: "Total size of metric data passed to the processor", + Unit: "By", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: dps, + }, + } + got, err := tt.GetMetric("otelcol_odigos_metric_data_size") + require.NoError(t, err) + metricdatatest.AssertEqual(t, want, got, opts...) +} + +func AssertEqualOdigosTraceDataSize(t *testing.T, tt *componenttest.Telemetry, dps []metricdata.DataPoint[int64], opts ...metricdatatest.Option) { + want := metricdata.Metrics{ + Name: "otelcol_odigos_trace_data_size", + Description: "Total size of trace data passed to the processor", + Unit: "By", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: dps, + }, + } + got, err := tt.GetMetric("otelcol_odigos_trace_data_size") + require.NoError(t, err) + metricdatatest.AssertEqual(t, want, got, opts...) } -func getMetric(name string, got metricdata.ResourceMetrics) metricdata.Metrics { +func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics { for _, sm := range got.ScopeMetrics { for _, m := range sm.Metrics { if m.Name == name { diff --git a/collector/processors/odigostrafficmetrics/internal/metadatatest/generated_telemetrytest_test.go b/collector/processors/odigostrafficmetrics/internal/metadatatest/generated_telemetrytest_test.go index fa1d38fa2f..34a3bf7a4a 100644 --- a/collector/processors/odigostrafficmetrics/internal/metadatatest/generated_telemetrytest_test.go +++ b/collector/processors/odigostrafficmetrics/internal/metadatatest/generated_telemetrytest_test.go @@ -14,11 +14,9 @@ import ( func TestSetupTelemetry(t *testing.T) { testTel := SetupTelemetry() - tb, err := metadata.NewTelemetryBuilder( - testTel.NewTelemetrySettings(), - ) + tb, err := metadata.NewTelemetryBuilder(testTel.NewTelemetrySettings()) require.NoError(t, err) - require.NotNil(t, tb) + defer tb.Shutdown() tb.OdigosAcceptedLogRecords.Add(context.Background(), 1) tb.OdigosAcceptedMetricPoints.Add(context.Background(), 1) tb.OdigosAcceptedSpans.Add(context.Background(), 1) @@ -100,5 +98,24 @@ func TestSetupTelemetry(t *testing.T) { }, }, }, metricdatatest.IgnoreTimestamp(), metricdatatest.IgnoreValue()) + AssertEqualOdigosAcceptedLogRecords(t, testTel.Telemetry, + []metricdata.DataPoint[int64]{{Value: 1}}, + metricdatatest.IgnoreTimestamp()) + AssertEqualOdigosAcceptedMetricPoints(t, testTel.Telemetry, + []metricdata.DataPoint[int64]{{Value: 1}}, + metricdatatest.IgnoreTimestamp()) + AssertEqualOdigosAcceptedSpans(t, testTel.Telemetry, + []metricdata.DataPoint[int64]{{Value: 1}}, + metricdatatest.IgnoreTimestamp()) + AssertEqualOdigosLogDataSize(t, testTel.Telemetry, + []metricdata.DataPoint[int64]{{Value: 1}}, + metricdatatest.IgnoreTimestamp()) + AssertEqualOdigosMetricDataSize(t, testTel.Telemetry, + []metricdata.DataPoint[int64]{{Value: 1}}, + metricdatatest.IgnoreTimestamp()) + AssertEqualOdigosTraceDataSize(t, testTel.Telemetry, + []metricdata.DataPoint[int64]{{Value: 1}}, + metricdatatest.IgnoreTimestamp()) + require.NoError(t, testTel.Shutdown(context.Background())) } diff --git a/collector/providers/odigosfileprovider/go.mod b/collector/providers/odigosfileprovider/go.mod index ad6b4427c6..2f95d0571f 100644 --- a/collector/providers/odigosfileprovider/go.mod +++ b/collector/providers/odigosfileprovider/go.mod @@ -4,7 +4,7 @@ go 1.23.0 require ( github.com/fsnotify/fsnotify v1.8.0 - go.opentelemetry.io/collector/confmap v1.24.0 + go.opentelemetry.io/collector/confmap v1.25.0 go.uber.org/zap v1.27.0 ) diff --git a/collector/providers/odigosfileprovider/go.sum b/collector/providers/odigosfileprovider/go.sum index c8762f92cb..b78da2a187 100644 --- a/collector/providers/odigosfileprovider/go.sum +++ b/collector/providers/odigosfileprovider/go.sum @@ -24,8 +24,8 @@ github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= 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/frontend/go.mod b/frontend/go.mod index c678a84808..9cba946adc 100644 --- a/frontend/go.mod +++ b/frontend/go.mod @@ -13,16 +13,16 @@ require ( github.com/odigos-io/odigos/k8sutils v0.0.0 github.com/stretchr/testify v1.10.0 github.com/vektah/gqlparser/v2 v2.5.16 - go.opentelemetry.io/collector/component v0.118.0 - go.opentelemetry.io/collector/component/componenttest v0.118.0 - go.opentelemetry.io/collector/confmap v1.24.0 - go.opentelemetry.io/collector/exporter v0.118.0 - go.opentelemetry.io/collector/exporter/exportertest v0.118.0 - go.opentelemetry.io/collector/exporter/otlpexporter v0.118.0 - go.opentelemetry.io/collector/exporter/otlphttpexporter v0.118.0 - go.opentelemetry.io/collector/pdata v1.24.0 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.118.0 - go.opentelemetry.io/collector/receiver/receivertest v0.118.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/component/componenttest v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/exporter v0.119.0 + go.opentelemetry.io/collector/exporter/exportertest v0.119.0 + go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0 + go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0 + go.opentelemetry.io/collector/pdata v1.25.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0 + go.opentelemetry.io/collector/receiver/receivertest v0.119.0 go.opentelemetry.io/otel v1.34.0 golang.org/x/sync v0.10.0 k8s.io/api v0.32.1 @@ -48,30 +48,30 @@ require ( github.com/mostynb/go-grpc-compression v1.2.3 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.118.0 // indirect - go.opentelemetry.io/collector/config/configauth v0.118.0 // indirect - go.opentelemetry.io/collector/config/configcompression v1.24.0 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.118.0 // indirect - go.opentelemetry.io/collector/config/confighttp v0.118.0 // indirect - go.opentelemetry.io/collector/config/confignet v1.24.0 // indirect - go.opentelemetry.io/collector/config/configopaque v1.24.0 // indirect - go.opentelemetry.io/collector/config/configretry v1.24.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect - go.opentelemetry.io/collector/config/configtls v1.24.0 // indirect - go.opentelemetry.io/collector/consumer v1.24.0 - go.opentelemetry.io/collector/extension v0.118.0 // indirect - go.opentelemetry.io/collector/extension/auth v0.118.0 // indirect - go.opentelemetry.io/collector/featuregate v1.24.0 // indirect - go.opentelemetry.io/collector/receiver v0.118.0 // indirect + go.opentelemetry.io/collector v0.119.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.119.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.25.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.119.0 // indirect + go.opentelemetry.io/collector/config/confighttp v0.119.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.25.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.25.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.25.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.25.0 // indirect + go.opentelemetry.io/collector/consumer v1.25.0 + go.opentelemetry.io/collector/extension v0.119.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.119.0 // indirect + go.opentelemetry.io/collector/featuregate v1.25.0 // indirect + go.opentelemetry.io/collector/receiver v0.119.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect + google.golang.org/grpc v1.70.0 // indirect ) require ( @@ -122,20 +122,20 @@ require ( github.com/ugorji/go/codec v1.2.12 // indirect github.com/x448/float16 v0.8.4 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/client v1.24.0 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.118.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 // indirect - go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.118.0 // indirect - go.opentelemetry.io/collector/exporter/xexporter v0.118.0 // indirect - go.opentelemetry.io/collector/extension/xextension v0.118.0 // indirect - go.opentelemetry.io/collector/internal/sharedcomponent v0.118.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline v0.118.0 // indirect - go.opentelemetry.io/collector/pipeline/xpipeline v0.118.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 // indirect + go.opentelemetry.io/collector/client v1.25.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/xexporter v0.119.0 // indirect + go.opentelemetry.io/collector/extension/xextension v0.119.0 // indirect + go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 // indirect go.opentelemetry.io/otel/trace v1.34.0 // indirect golang.org/x/arch v0.12.0 // indirect golang.org/x/crypto v0.32.0 // indirect @@ -146,7 +146,7 @@ require ( golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.7.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/protobuf v1.36.4 // 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/frontend/go.sum b/frontend/go.sum index 9a14b614e8..55de85185a 100644 --- a/frontend/go.sum +++ b/frontend/go.sum @@ -202,94 +202,94 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector v0.118.0 h1:OBqxppK9Ul6bzEabcHsx11pXwgp05sBpqYxIxiOkyFo= -go.opentelemetry.io/collector v0.118.0/go.mod h1:yxfijW5k9dwd9sifTBAEoItE+ahFEtOlyvex1B99uno= -go.opentelemetry.io/collector/client v1.24.0 h1:eH7ctqDnRWNH5QVVbAvdYYdkvr8QWLkEm8FUPaaYbWE= -go.opentelemetry.io/collector/client v1.24.0/go.mod h1:C/38SYPa0tTL6ikPz/glYz6f3GVzEuT4nlEml6IBDMw= -go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= -go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= -go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= -go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= -go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= -go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= -go.opentelemetry.io/collector/config/configauth v0.118.0 h1:uBH/s9kRw/m7VWuibrkCzbXSCVLf9ElKq9NuKb0wAwk= -go.opentelemetry.io/collector/config/configauth v0.118.0/go.mod h1:uAmSGkihIENoIah6mEQ8S/HX4oiFOHZu3EoZLZwi9OI= -go.opentelemetry.io/collector/config/configcompression v1.24.0 h1:jyM6BX7wYcrh+eVSC0FMbWgy/zb9iP58SerOrvisccE= -go.opentelemetry.io/collector/config/configcompression v1.24.0/go.mod h1:LvYG00tbPTv0NOLoZN0wXq1F5thcxvukO8INq7xyfWU= -go.opentelemetry.io/collector/config/configgrpc v0.118.0 h1:if8VfsnnHwVX/E+GgehVXKh85YtAtVci+c4A/M5gPh0= -go.opentelemetry.io/collector/config/configgrpc v0.118.0/go.mod h1:TZqpu5s/iEW5XmhSnzrhXCUQ3W5qaICNvlllBf3GGcw= -go.opentelemetry.io/collector/config/confighttp v0.118.0 h1:ey50dfySOCPgUPJ1x8Kq6CmNcv/TpZHt6cYmPhZItj0= -go.opentelemetry.io/collector/config/confighttp v0.118.0/go.mod h1:4frheVFiIfKUHuD/KAPn+u+d+EUx5GlQTNmoI1ftReA= -go.opentelemetry.io/collector/config/confignet v1.24.0 h1:Je1oO3qCUI4etX9ZVyav/NkeD+sfzZQRmwMGy51Oei4= -go.opentelemetry.io/collector/config/confignet v1.24.0/go.mod h1:ZppUH1hgUJOubawEsxsQ9MzEYFytqo2GnVSS7d4CVxc= -go.opentelemetry.io/collector/config/configopaque v1.24.0 h1:EPOprMDreZPKyIgT0/eVBvEGQVvq7ncvBCBVnWerj54= -go.opentelemetry.io/collector/config/configopaque v1.24.0/go.mod h1:sW0t0iI/VfRL9VYX7Ik6XzVgPcR+Y5kejTLsYcMyDWs= -go.opentelemetry.io/collector/config/configretry v1.24.0 h1:sIPHhNNY2YlHMIJ//63iMxIqlgDeGczId0uUb1njsPM= -go.opentelemetry.io/collector/config/configretry v1.24.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= -go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/config/configtls v1.24.0 h1:rOhl8qjIlUVVRHnwQj6/vZe6cuCYImyx7aVDBR35bqI= -go.opentelemetry.io/collector/config/configtls v1.24.0/go.mod h1:d0OdfkbuYEMYDBJLSbpH0wPI29lmSiFT3geqh/ygF2k= -go.opentelemetry.io/collector/confmap v1.24.0 h1:UUHVhkDCsVw14jPOarug9PDQE2vaB2ELPWMr7ARFBCA= -go.opentelemetry.io/collector/confmap v1.24.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= -go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0 h1:Cx//ZFDa6wUEoRDRYRZ/Rkb52dWNoHj2e9FdlcM9jCA= -go.opentelemetry.io/collector/consumer/consumererror v0.118.0/go.mod h1:2mhnzzLYR5zS2Zz4h9ZnRM8Uogu9qatcfQwGNenhing= -go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.118.0 h1:/kkWdw1PQtPb1noZMTt6tbgP1ntWdJ835u1o45nYhTg= -go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.118.0/go.mod h1:2mdXnTT0nPd/KTG9w29cc1OGKBLzL2HW+x/o7QVpCpI= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= -go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= -go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= -go.opentelemetry.io/collector/exporter v0.118.0 h1:PE0vF2U+znOB8OVLPWNw40bGCoT/5QquQ8Xbz4i9Rb0= -go.opentelemetry.io/collector/exporter v0.118.0/go.mod h1:5ST3gxT/RzE/vg2bcGDtWJxlQF1ypwk50UpmdK1kUqY= -go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.118.0 h1:wC4IyE98DR4eXVyT7EnA4iJ6s+sbUTZVq/5KoVWSKDw= -go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.118.0/go.mod h1:spjZv9QX+pCcx/ECSqlo/UKCYJzp2rR5NsvIgpfdUxQ= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0 h1:8gWky42BcJsxoaqWbnqCDUjP3Y84hjC6RD/UWHwR7sI= -go.opentelemetry.io/collector/exporter/exportertest v0.118.0/go.mod h1:UbpQBZvznA8YPqqcKlafVIhB6Qa4fPf2+I67MUGyNqo= -go.opentelemetry.io/collector/exporter/otlpexporter v0.118.0 h1:kfVfskZEroh3zs8HmdCLeo9weAJT5oedd+04McXEBSU= -go.opentelemetry.io/collector/exporter/otlpexporter v0.118.0/go.mod h1:iyvbf05lZdh+KObvNF0uEpaaV9YoQNofm1RRamWbq78= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.118.0 h1:8ShK60uf6nY6TlSYBZ2Y7eh3sv0WwNkUKgmh3P1U/2U= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.118.0/go.mod h1:UJXry//sSRs04eg35nZkT1wxP43tPxz/3wbf26eLRkc= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0 h1:PZAo1CFhZHfQwtzUNj+Fwcv/21pWHJHTsrIddD096fw= -go.opentelemetry.io/collector/exporter/xexporter v0.118.0/go.mod h1:x4J+qyrRcp4DfWKqK3DLZomFTIUhedsqCQWqq6Gqps4= -go.opentelemetry.io/collector/extension v0.118.0 h1:9o5jLCTRvs0+rtFDx04zTBuB4WFrE0RvtVCPovYV0sA= -go.opentelemetry.io/collector/extension v0.118.0/go.mod h1:BFwB0WOlse6JnrStO44+k9kwUVjjtseFEHhJLHD7lBg= -go.opentelemetry.io/collector/extension/auth v0.118.0 h1:+eMNUBUK1JK9A3mr95BasbWE90Lxu+WlR9sqS36sJms= -go.opentelemetry.io/collector/extension/auth v0.118.0/go.mod h1:MJpYcRGSERkgOhczqTKoAhkHmcugr+YTlRhc/SpYYYI= -go.opentelemetry.io/collector/extension/auth/authtest v0.118.0 h1:KIORXNc71vfpQrrZOntiZesRCZtQ8alrASWVT/zZkyo= -go.opentelemetry.io/collector/extension/auth/authtest v0.118.0/go.mod h1:0ZlSP9NPAfTRQd6Tx4mOH0IWrp6ufHaVN//L9Mb87gM= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0 h1:rKBUaFS9elGfENG45wANmrwx7mHsmt1+YWCzxjftElg= -go.opentelemetry.io/collector/extension/extensiontest v0.118.0/go.mod h1:CqNXzkIOR32D8EUpptpOXhpFkibs3kFlRyNMEgIW8l4= -go.opentelemetry.io/collector/extension/xextension v0.118.0 h1:P6gvJzqnH9ma2QfnWde/E6Xu9bAzuefzIwm5iupiVPE= -go.opentelemetry.io/collector/extension/xextension v0.118.0/go.mod h1:ne4Q8ZtRlbC0Etr2hTcVkjOpVM2bE2xy1u+R80LUkDw= -go.opentelemetry.io/collector/featuregate v1.24.0 h1:DEqDsuJgxjZ3E5JNC9hXCd4sWGFiF7h9kaziODuqwFY= -go.opentelemetry.io/collector/featuregate v1.24.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= -go.opentelemetry.io/collector/internal/sharedcomponent v0.118.0 h1:aCiwkzBL4VyPEUBmEcTnoPyld5EClJGbwyUNJhHNgEo= -go.opentelemetry.io/collector/internal/sharedcomponent v0.118.0/go.mod h1:drV6vD4acelEUOjM9cgxV5ILs8q2AYUh3EV+Pljdorg= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= -go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= -go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= -go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= -go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= -go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/pipeline/xpipeline v0.118.0 h1:ZUVF1MYNQYZvmuL30KfP+QbVGSbFZvldBM9hgCe4J4k= -go.opentelemetry.io/collector/pipeline/xpipeline v0.118.0/go.mod h1:XgG1ktGO9J1f6fasMYPWSXL9Raan/VYB9vddKKWp5hQ= -go.opentelemetry.io/collector/receiver v0.118.0 h1:X4mspHmbbtwdCQZ7o370kNmdWfxRnK1FrsvEShCCKEc= -go.opentelemetry.io/collector/receiver v0.118.0/go.mod h1:wFyfu6sgrkDPLQoGOGMuChGZzkZnYcI/tPJWV4CRTzs= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.118.0 h1:Nud8aaRDb86K2kBeqMTjqAKDUV00JDn+G4wUZ3hDlAk= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.118.0/go.mod h1:MJvDEzWJnm1FMoIoTKmhlT3pPmwJP+65GKWy0lAzd30= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0 h1:XlMr2mPsyXJsMUOqCpEoY3uCPsLZQbNA5fmVNDGB7Bw= -go.opentelemetry.io/collector/receiver/receivertest v0.118.0/go.mod h1:dtu/H1RNjhy11hTVf/XUfc02uGufMhYYdhhYBbglcUg= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0 h1:dzECve9e0H3ot0JWnWPuQr9Y84RhOYSd0+CjvJskx7Y= -go.opentelemetry.io/collector/receiver/xreceiver v0.118.0/go.mod h1:Lv1nD/mSYSP64iV8k+C+mWWZZOMLRubv9d1SUory3/E= +go.opentelemetry.io/collector v0.119.0 h1:n8ltRLteaUKjyY3E+3JbiaPG4gwL2pjNIcUvXmRA0Ko= +go.opentelemetry.io/collector v0.119.0/go.mod h1:w+qO3hp/mLR2wL4v06MWonGcj4p2/kPSNcU3R7+06p8= +go.opentelemetry.io/collector/client v1.25.0 h1:7IS+b3Xm2ymgmQj9UbnZmVF4jIw6F7tQjJP7lFc+GoM= +go.opentelemetry.io/collector/client v1.25.0/go.mod h1:IPyOnO7K0ztuZOV1i+WXShvq4tpbLp45tTDdIDvlZvM= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configauth v0.119.0 h1:w/Ln2l6TSgadtRLEZ7mlmOsW/6Q4ITIrjwxR7Tbnfzg= +go.opentelemetry.io/collector/config/configauth v0.119.0/go.mod h1:B3DFUBTSGdwAjxbWtY/tQ+03QwousCMLM9s26+Kb9Xw= +go.opentelemetry.io/collector/config/configcompression v1.25.0 h1:iYeeYiKbTQu9lqWDpszeAc5gRkWBImDrBVe7u5gnoqw= +go.opentelemetry.io/collector/config/configcompression v1.25.0/go.mod h1:LvYG00tbPTv0NOLoZN0wXq1F5thcxvukO8INq7xyfWU= +go.opentelemetry.io/collector/config/configgrpc v0.119.0 h1:h3Fn5xzGSeSC721rbBhZDxTY5Z1sSSqQRdjR2LXnUZM= +go.opentelemetry.io/collector/config/configgrpc v0.119.0/go.mod h1:JkPHSM0clFA2bD85zQ8DuEyH4BFiB+wCZbr1aqbCLkY= +go.opentelemetry.io/collector/config/confighttp v0.119.0 h1:slt4Msm2D4qdu2Nvy2E+ccgrAS0T64zl6eTuWiiCxGg= +go.opentelemetry.io/collector/config/confighttp v0.119.0/go.mod h1:Tnfo1UP1OZPVfvYriaP187aS3FHfwVXNLjBZ799AUFk= +go.opentelemetry.io/collector/config/confignet v1.25.0 h1:DteOIhwvXkmGhqggKU/s0qfjpVW21TGku1vM2S0xArY= +go.opentelemetry.io/collector/config/confignet v1.25.0/go.mod h1:ZppUH1hgUJOubawEsxsQ9MzEYFytqo2GnVSS7d4CVxc= +go.opentelemetry.io/collector/config/configopaque v1.25.0 h1:raFi+CC8Sn4KzKCPhtnnrnkDQ0eFzJCN8xJpQh9d1sU= +go.opentelemetry.io/collector/config/configopaque v1.25.0/go.mod h1:sW0t0iI/VfRL9VYX7Ik6XzVgPcR+Y5kejTLsYcMyDWs= +go.opentelemetry.io/collector/config/configretry v1.25.0 h1:PelzRkTJ9zGxwdJha7pPtvR91GrgL/OzkY/MwyXYRUE= +go.opentelemetry.io/collector/config/configretry v1.25.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/config/configtls v1.25.0 h1:x915Us8mhYWGB025LBMH8LT9ZPdvg2WKAyCQ7IDUSfw= +go.opentelemetry.io/collector/config/configtls v1.25.0/go.mod h1:jE4WbJE12AltJ3BZU1R0GnYI8D14bTqbTq4yuaTHdms= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0 h1:M6QXK3KLWnNLlUWOBgz+WQI//W9M8r9qVGWUA3mc5LM= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0/go.mod h1:UNnNkr+ZQJhAMNE5v1n86lXbJrSYb+1ePcI98gV6xvo= +go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0 h1:T/H7NcNIPKnCPlM5rObxPR+907ayTTXnyWiuMjL7Hsg= +go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0/go.mod h1:k03ncJ8V0QFKqwD4ELNyvFx3pMs2uaCErbIn06N9YLo= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/exporter v0.119.0 h1:eVHmkeB5HQY/FcoP62l7O4Q0cAZ97LwLhZiAQoQeBtU= +go.opentelemetry.io/collector/exporter v0.119.0/go.mod h1:xMF9mT01tXHX2NjfMRV8o9YyhPBZOR4Wt+srkTy1thM= +go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0 h1:KS7W2zWVd34Q0BF6tek0hXNEhWHxTr84O+u4xG6a7FM= +go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0/go.mod h1:eKijsOVkLOuu9lbqx86Mua8PqURnpxOdPo/5grKGHOg= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0 h1:saABJIiyYyqWEBvGe2VVf5rMMpHdwB83nD6feNZ33nA= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0/go.mod h1:S82pMkj1gWdivxVRKqaRJvGMgVRntKVI5dWAgs23KI8= +go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0 h1:+Ic7h40EOUPbgDnJzVRns5IjxQBKP8Svn4VeIu1Cnj4= +go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0/go.mod h1:TZMlSFncZ6w7NwEEwElB5QGUNIYZb2SMfmUVajxTctw= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0 h1:Hyld/aXva2sPrTchpL9w6QmJVekQcgAO4c3mNbDMi78= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0/go.mod h1:U3S1yKDcyb0pP7Xs/SGWWBw4nEzW1KIoBtzYn3CE5TY= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0 h1:bCUFRa/of+iPrJoXyzJ5cbOv/hWDHw87bnDRFQJ/JVU= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0/go.mod h1:naV2XoiJv8bvOt7Vs9h6aDWmJnuD1SRnDqkIFRINYlI= +go.opentelemetry.io/collector/extension v0.119.0 h1:Itkt3jqYLjkhoX4kWhICuhXQEQz332W7UL6DpmaNHMc= +go.opentelemetry.io/collector/extension v0.119.0/go.mod h1:yMpvs58Z9F3UpSoE4w/1q/EEKlLFZBOQ2muzzikRvO8= +go.opentelemetry.io/collector/extension/auth v0.119.0 h1:URPkjeo3aKmlYGgeFCZK6kLK+D1XGfDUGSAwFaHn+QQ= +go.opentelemetry.io/collector/extension/auth v0.119.0/go.mod h1:8mGcTLfgmf2QNrdumP7g7nnNtyrpHiPRZect1tdXYJQ= +go.opentelemetry.io/collector/extension/auth/authtest v0.119.0 h1:J3oqlamxI+1BvRSxFIOkjMZl2E534YM6y3O8seM0yzE= +go.opentelemetry.io/collector/extension/auth/authtest v0.119.0/go.mod h1:EpUkiFC9siKB/PXeTk9KFutJhZrd6I/AHBM5en4yXlM= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0 h1:sAdIBRJ6Df7jdkHWY/pSEYTersxURkUz9pENKl73n6s= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0/go.mod h1:XQbUTXneJ//xt58eu5ofHhzWQcQ24GRTbBMWHCEsipA= +go.opentelemetry.io/collector/extension/xextension v0.119.0 h1:uSUvha4yxk5jWevhepsQ56QSAOkk3Z4M0vcPEJeZ6UU= +go.opentelemetry.io/collector/extension/xextension v0.119.0/go.mod h1:2DSTP2IEFfCC+2IFzl1eG9bCKsBkxIQjIphziJ0+vuo= +go.opentelemetry.io/collector/featuregate v1.25.0 h1:3b857fvoY9xBcE5qtLUE1/nlQ65teuW9d8CKr6MykYc= +go.opentelemetry.io/collector/featuregate v1.25.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= +go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0 h1:A2Pzo2fLewBLyV9CrcUzLMiN63A9WpKsL8QtELU/CCg= +go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0/go.mod h1:r29B+4G7yswJ0JkE+yWH4knPvlBvxIgNuOx6p010u/A= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0 h1:lX70c+MjXHbOJahU6Xs3yV1rPTV/7bWXlCj/C+CnMLc= +go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0/go.mod h1:m2acg7G5Rb8Srm5aK4rD7mUDQhd1r/qXq1DJxdhMAcQ= +go.opentelemetry.io/collector/receiver v0.119.0 h1:ZatoS4POR+XDkN1WwAv18Ism9f/FUsIjtVT4MIZbQS0= +go.opentelemetry.io/collector/receiver v0.119.0/go.mod h1:JUSsVwyKKQVD/Fy3T98OHOlVHE15Z7juba5RQzG3AXc= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0 h1:opx0DmIFTI61hm7dLiAlLJ/+JxY9/gjYnPpfEob0m3U= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0/go.mod h1:kgzvqb2lgZyREX4v16reRgqYPuhKOWtZFGhkI9l6zTo= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0 h1:thZkyftPCNit/m2bUUC+zaR1+hbXoSkCDtNN/vZIZSg= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0/go.mod h1:DZM70vofnquGkQiTfT5ZSFZlohxANl9XOrVq9h5IKnc= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 h1:ZcTO+h+r9TyR1XgMhA7FTSTV9RF+z/IDPrcRIg1l56U= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0/go.mod h1:AkoWhnYFMygK7Tlzez398ti20NqydX8wxPVWU86+baE= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 h1:rgMkmiGfix9vFJDcDi1PK8WEQP4FLQwLDfhp5ZLpFeE= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0/go.mod h1:ijPqXp5P6IRRByFVVg9DY8P5HkxkHE5ARIa+86aXPf4= -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/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= @@ -359,10 +359,10 @@ golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSm golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/instrumentor/go.mod b/instrumentor/go.mod index fb70f1f5ac..820764db28 100644 --- a/instrumentor/go.mod +++ b/instrumentor/go.mod @@ -44,7 +44,7 @@ require ( golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect + google.golang.org/grpc v1.70.0 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect ) @@ -75,7 +75,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.61.0 // indirect + github.com/prometheus/common v0.62.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.10.0 @@ -88,7 +88,7 @@ require ( golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.7.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.32.0 // indirect diff --git a/instrumentor/go.sum b/instrumentor/go.sum index 4eaa7bc5bb..c4ace3bed1 100644 --- a/instrumentor/go.sum +++ b/instrumentor/go.sum @@ -141,8 +141,8 @@ github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+ 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.61.0 h1:3gv/GThfX0cV2lpO7gkTUwZru38mxevy90Bj8YFSRQQ= -github.com/prometheus/common v0.61.0/go.mod h1:zr29OCN/2BsJRaFwG8QOBr41D6kkchKbpeNH7pAjb/s= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= 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.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= @@ -248,16 +248,16 @@ google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f h1: google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:Ic02D47M+zbarjYYUlK57y316f2MoN0gjAwI3f2S95o= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/k8sutils/go.mod b/k8sutils/go.mod index 17170d8b57..15b0703fd9 100644 --- a/k8sutils/go.mod +++ b/k8sutils/go.mod @@ -46,7 +46,7 @@ require ( golang.org/x/time v0.7.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect @@ -61,7 +61,7 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect golang.org/x/net v0.34.0 // indirect golang.org/x/text v0.21.0 // indirect - google.golang.org/grpc v1.69.4 + google.golang.org/grpc v1.70.0 gopkg.in/inf.v0 v0.9.1 // indirect k8s.io/cri-api v0.31.3 k8s.io/klog/v2 v2.130.1 // indirect diff --git a/k8sutils/go.sum b/k8sutils/go.sum index 8a9e218fe8..0af120df05 100644 --- a/k8sutils/go.sum +++ b/k8sutils/go.sum @@ -173,10 +173,10 @@ golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3j golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/odiglet/go.mod b/odiglet/go.mod index 47e2edf177..89626dd1c9 100644 --- a/odiglet/go.mod +++ b/odiglet/go.mod @@ -17,7 +17,7 @@ require ( github.com/odigos-io/opentelemetry-zap-bridge v0.0.5 github.com/odigos-io/runtime-detector v0.0.6 github.com/stretchr/testify v1.10.0 - go.opentelemetry.io/auto v0.20.0 + go.opentelemetry.io/auto v0.19.0-alpha go.opentelemetry.io/otel v1.34.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 go.uber.org/zap v1.27.0 @@ -69,9 +69,8 @@ require ( github.com/prometheus/procfs v0.15.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/collector/pdata v1.24.0 // indirect + go.opentelemetry.io/collector/pdata v1.25.0 // indirect go.opentelemetry.io/contrib/bridges/prometheus v0.59.0 // indirect go.opentelemetry.io/contrib/exporters/autoexport v0.59.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0 // indirect diff --git a/odiglet/go.sum b/odiglet/go.sum index fc4be8febd..d2c82c515c 100644 --- a/odiglet/go.sum +++ b/odiglet/go.sum @@ -303,19 +303,17 @@ 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/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2 h1:zzrxE1FKn5ryBNl9eKOeqQ58Y/Qpo3Q9QNxKHX5uzzQ= -github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2/go.mod h1:hzfGeIUDq/j97IG+FhNqkowIyEcD88LrW6fyU3K3WqY= 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.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.opentelemetry.io/auto v0.20.0 h1:e+um/kCMvGTMPgGRY1q3shx1iTYjYx4zKY94uwY8EZw= -go.opentelemetry.io/auto v0.20.0/go.mod h1:Gqi5YFjqbD0j+iOgn7uVfwLynYDMw5erDIeqjxfGEjE= +go.opentelemetry.io/auto v0.19.0-alpha h1:TsJVpNtI0g/N/FT/rv7jaEqctY4kJz5yPfFuol24IS8= +go.opentelemetry.io/auto v0.19.0-alpha/go.mod h1:Olz9mFDiXanGQxa4qqWYO6CV5cVFFxC5tPZzu2W3lxk= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/collector/pdata v1.24.0 h1:D6j92eAzmAbQgivNBUnt8r9juOl8ugb+ihYynoFZIEg= -go.opentelemetry.io/collector/pdata v1.24.0/go.mod h1:cf3/W9E/uIvPS4MR26SnMFJhraUCattzzM6qusuONuc= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= go.opentelemetry.io/contrib/bridges/prometheus v0.59.0 h1:HY2hJ7yn3KuEBBBsKxvF3ViSmzLwsgeNvD+0utRMgzc= go.opentelemetry.io/contrib/bridges/prometheus v0.59.0/go.mod h1:H4H7vs8766kwFnOZVEGMJFVF+phpBSmTckvvNRdJeDI= go.opentelemetry.io/contrib/exporters/autoexport v0.59.0 h1:dKhAFwh7SSoOw+gwMtSv+XLkUGTFAwAGMT3X3XSE4FA= diff --git a/opampserver/go.mod b/opampserver/go.mod index e117b4636d..f5dfe1aadd 100644 --- a/opampserver/go.mod +++ b/opampserver/go.mod @@ -8,7 +8,7 @@ require ( github.com/odigos-io/odigos/common v0.0.0 github.com/odigos-io/odigos/k8sutils v0.0.0 go.opentelemetry.io/otel v1.34.0 - google.golang.org/protobuf v1.36.3 + google.golang.org/protobuf v1.36.4 k8s.io/api v0.32.1 k8s.io/apimachinery v0.32.1 k8s.io/client-go v0.32.1 @@ -55,7 +55,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.61.0 // indirect + github.com/prometheus/common v0.62.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.10.0 diff --git a/opampserver/go.sum b/opampserver/go.sum index 463e0be9c1..bf0a3ae0b0 100644 --- a/opampserver/go.sum +++ b/opampserver/go.sum @@ -107,8 +107,8 @@ github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+ 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.61.0 h1:3gv/GThfX0cV2lpO7gkTUwZru38mxevy90Bj8YFSRQQ= -github.com/prometheus/common v0.61.0/go.mod h1:zr29OCN/2BsJRaFwG8QOBr41D6kkchKbpeNH7pAjb/s= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= 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.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= @@ -190,8 +190,8 @@ golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3j golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/scheduler/go.mod b/scheduler/go.mod index e4c4f2c59d..c68044122b 100644 --- a/scheduler/go.mod +++ b/scheduler/go.mod @@ -59,7 +59,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.61.0 // indirect + github.com/prometheus/common v0.62.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect @@ -82,8 +82,8 @@ require ( gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.69.4 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/grpc v1.70.0 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/scheduler/go.sum b/scheduler/go.sum index 2d5fc044bc..eeb741dc6d 100644 --- a/scheduler/go.sum +++ b/scheduler/go.sum @@ -143,8 +143,8 @@ github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+ 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.61.0 h1:3gv/GThfX0cV2lpO7gkTUwZru38mxevy90Bj8YFSRQQ= -github.com/prometheus/common v0.61.0/go.mod h1:zr29OCN/2BsJRaFwG8QOBr41D6kkchKbpeNH7pAjb/s= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= 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.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= @@ -248,16 +248,16 @@ google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f h1: google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:Ic02D47M+zbarjYYUlK57y316f2MoN0gjAwI3f2S95o= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= 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.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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/scripts/cli-docgen/go.mod b/scripts/cli-docgen/go.mod index 6336355ad4..31d82d5ea4 100644 --- a/scripts/cli-docgen/go.mod +++ b/scripts/cli-docgen/go.mod @@ -56,7 +56,7 @@ require ( golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.7.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/protobuf v1.36.3 // indirect + google.golang.org/protobuf v1.36.4 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/scripts/cli-docgen/go.sum b/scripts/cli-docgen/go.sum index 31adb08391..f62340c605 100644 --- a/scripts/cli-docgen/go.sum +++ b/scripts/cli-docgen/go.sum @@ -166,8 +166,8 @@ 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= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= -google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/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= From 934dfdffa362f14817a31cba98a573a5e91a8cb9 Mon Sep 17 00:00:00 2001 From: Alon Braymok <138359965+alonkeyval@users.noreply.github.com> Date: Thu, 6 Feb 2025 10:57:44 +0200 Subject: [PATCH 05/16] [GEN-2322] chore: config set command doc (#2390) Co-authored-by: alonkeyval --- cli/cmd/config.go | 14 +++++++++++++- docs/cli/odigos_config.mdx | 12 ++++++++++++ docs/mint.json | 3 ++- docs/sync-dest-doc.py | 39 ++++++++++++++++++-------------------- 4 files changed, 45 insertions(+), 23 deletions(-) diff --git a/cli/cmd/config.go b/cli/cmd/config.go index 898f097ae3..658b80253b 100644 --- a/cli/cmd/config.go +++ b/cli/cmd/config.go @@ -17,7 +17,19 @@ import ( var configCmd = &cobra.Command{ Use: "config", Short: "Manage Odigos configuration", - Long: "Manage Odigos configuration settings to customize system behavior.", + Long: `Manage Odigos configuration settings to customize system behavior. + + Configurable properties: + - "telemetry-enabled": Enables or disables telemetry (true/false). + - "openshift-enabled": Enables or disables OpenShift support (true/false). + - "psp": Enables or disables Pod Security Policies (true/false). + - "skip-webhook-issuer-creation": Skips webhook issuer creation (true/false). + - "allow-concurrent-agents": Allows concurrent agents (true/false). + - "image-prefix": Sets the image prefix. + - "ui-mode": Sets the UI mode(normal/readonly). + - "ignored-namespaces": List of namespaces to be ignored. + - "ignored-containers": List of containers to be ignored. + `, } // `odigos config set ` diff --git a/docs/cli/odigos_config.mdx b/docs/cli/odigos_config.mdx index 8a3decedf4..d749154c4c 100644 --- a/docs/cli/odigos_config.mdx +++ b/docs/cli/odigos_config.mdx @@ -10,6 +10,18 @@ Manage Odigos configuration Manage Odigos configuration settings to customize system behavior. + Configurable properties: + - "telemetry-enabled": Enables or disables telemetry (true/false). + - "openshift-enabled": Enables or disables OpenShift support (true/false). + - "psp": Enables or disables Pod Security Policies (true/false). + - "skip-webhook-issuer-creation": Skips webhook issuer creation (true/false). + - "allow-concurrent-agents": Allows concurrent agents (true/false). + - "image-prefix": Sets the image prefix. + - "ui-mode": Sets the UI mode(normal/readonly). + - "ignored-namespaces": List of namespaces to be ignored. + - "ignored-containers": List of containers to be ignored. + + ### Options ``` diff --git a/docs/mint.json b/docs/mint.json index e2297a06ee..7d05741cad 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -87,7 +87,8 @@ "cli/odigos_uninstall", "cli/odigos_upgrade", "cli/odigos_version", - "cli/odigos_sources" + "cli/odigos_sources", + "cli/odigos_config" ] }, { diff --git a/docs/sync-dest-doc.py b/docs/sync-dest-doc.py index e8346a634a..8c396e9a41 100644 --- a/docs/sync-dest-doc.py +++ b/docs/sync-dest-doc.py @@ -18,7 +18,7 @@ def indent_lines(str="", spaces=0): str: Indented string. """ indented = "\n".join( - f"{" " * spaces}{line}" if line.strip() else line for line in str.splitlines() + f"{' ' * spaces}{line}" if line.strip() else line for line in str.splitlines() ) return indented @@ -392,12 +392,15 @@ def get_documenation(yaml_content): + "\n !! END CUSTOM EDIT !!" + "\n*/}" ) + signals_content = f"\n\n{signals}" if signals else "" + fields_content = f"\n\n{fields}" if fields else "" + note_content = f"\n\n{note}" if note else "" content_after_custom = ( f"{start_after_custom}" + "\n\n### Configuring Destination Fields" - + f"{f"\n\n{signals}" if signals else ""}" - + f"{f"\n\n{fields}" if fields else ""}" - + f"{f"\n\n{note}" if note else ""}" + + signals_content + + fields_content + + note_content + "\n\n### Adding Destination to Odigos" + "\n\nThere are two primary methods for configuring destinations in Odigos:" + "\n\n##### **Using the UI**" @@ -489,14 +492,15 @@ def create_mdx(mdx_path, yaml_content): None """ documenation = get_documenation(yaml_content) - + content_before = documenation.get("content_before_custom") + content_after = documenation.get("content_after_custom") mdx_content = ( - f"{documenation.get("content_before_custom")}" + f"{content_before}" + "\n\n**Creating Account**
" + "\nGo to the **[🔗 website](https://odigos.io) > Account** and click **Sign Up**" + "\n\n**Obtaining Access Token**
" + "\nGo to **⚙️ > Access Tokens** and click **Create New**" - + f"\n\n{documenation.get("content_after_custom")}" + + f"\n\n{content_after}" ) with open(mdx_path, 'w') as mdx_file: @@ -561,20 +565,13 @@ def process_overview(backend_yaml_dir, docs_dir): category = meta.get("category", "") signals = yaml_content.get("spec", {}).get("signals", {}) - rows.append(f"{ - generate_logo(yaml_content, True) - } | [{name}](/backends/{file.replace('.yaml', '')}) | { - "Managed" if category == "managed" else "Self-Hosted" - } | { - '✅' if signals.get("traces", {}).get( - "supported", False) else '' - } | { - '✅' if signals.get("metrics", {}).get( - "supported", False) else '' - } | { - '✅' if signals.get("logs", {}).get( - "supported", False) else '' - } |" + rows.append( + f"{generate_logo(yaml_content, True)} | " + f"[{name}](/backends/{file.replace('.yaml', '')}) | " + f"{'Managed' if category == 'managed' else 'Self-Hosted'} | " + f"{'✅' if signals.get('traces', {}).get('supported', False) else ''} | " + f"{'✅' if signals.get('metrics', {}).get('supported', False) else ''} | " + f"{'✅' if signals.get('logs', {}).get('supported', False) else ''} |" ) content = ( From f9c220128abfa2d04be078b6d987a87648f2cc56 Mon Sep 17 00:00:00 2001 From: Amir Blum Date: Thu, 6 Feb 2025 14:24:22 +0200 Subject: [PATCH 06/16] fix: add distro parameters for dotnet licbtype (#2395) When injecting dotnet agent, we need to differentiate the libc type and populate it in the relevant env var. This PR adds this into as distro parameters where we can reuse the same distro but pass in required values which are then used to set it up --- .../odigos.io_instrumentationconfigs.yaml | 8 ++++++ .../odigos/v1alpha1/containeragentconfig.go | 15 +++++++++++ .../v1alpha1/instrumentationconfig_types.go | 13 +++++++--- api/odigos/v1alpha1/zz_generated.deepcopy.go | 11 +++++++- common/libc_types.go | 2 ++ distros/distro/oteldistribution.go | 4 +++ distros/yamls/dotnet-community.yaml | 3 +++ docs/api-reference/odigos.io.v1alpha1.mdx | 12 +++++++++ .../odigos.io_instrumentationconfigs.yaml | 8 ++++++ instrumentor/controllers/agentenabled/sync.go | 26 +++++++++++++++++++ 10 files changed, 98 insertions(+), 4 deletions(-) diff --git a/api/config/crd/bases/odigos.io_instrumentationconfigs.yaml b/api/config/crd/bases/odigos.io_instrumentationconfigs.yaml index 550129cb3f..a4327066b1 100644 --- a/api/config/crd/bases/odigos.io_instrumentationconfigs.yaml +++ b/api/config/crd/bases/odigos.io_instrumentationconfigs.yaml @@ -72,12 +72,20 @@ spec: - IgnoredContainer - NoAvailableAgent - UnsupportedRuntimeVersion + - MissingDistroParameter - OtherAgentDetected type: string containerName: description: The name of the container to which this configuration applies. type: string + distroParams: + additionalProperties: + type: string + description: |- + Additional parameters to the distro that controls how it's being applied. + Keys are parameter names (like "libc") and values are the value to use for that parameter (glibc / musl) + type: object otelDistroName: description: |- The name of the otel distribution to use for this container. diff --git a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/containeragentconfig.go b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/containeragentconfig.go index 2acf025f4b..8434ab9525 100644 --- a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/containeragentconfig.go +++ b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/containeragentconfig.go @@ -29,6 +29,7 @@ type ContainerAgentConfigApplyConfiguration struct { AgentEnabledReason *odigosv1alpha1.AgentEnabledReason `json:"agentEnabledReason,omitempty"` AgentEnabledMessage *string `json:"agentEnabledMessage,omitempty"` OtelDistroName *string `json:"otelDistroName,omitempty"` + DistroParams map[string]string `json:"distroParams,omitempty"` } // ContainerAgentConfigApplyConfiguration constructs a declarative configuration of the ContainerAgentConfig type for use with @@ -76,3 +77,17 @@ func (b *ContainerAgentConfigApplyConfiguration) WithOtelDistroName(value string b.OtelDistroName = &value return b } + +// WithDistroParams puts the entries into the DistroParams field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the DistroParams field, +// overwriting an existing map entries in DistroParams field with the same key. +func (b *ContainerAgentConfigApplyConfiguration) WithDistroParams(entries map[string]string) *ContainerAgentConfigApplyConfiguration { + if b.DistroParams == nil && len(entries) > 0 { + b.DistroParams = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.DistroParams[k] = v + } + return b +} diff --git a/api/odigos/v1alpha1/instrumentationconfig_types.go b/api/odigos/v1alpha1/instrumentationconfig_types.go index 4c613019a8..cab5e075e9 100644 --- a/api/odigos/v1alpha1/instrumentationconfig_types.go +++ b/api/odigos/v1alpha1/instrumentationconfig_types.go @@ -29,7 +29,7 @@ const ( WorkloadRolloutStatusConditionType = "WorkloadRollout" ) -// +kubebuilder:validation:Enum=EnabledSuccessfully;WaitingForRuntimeInspection;WaitingForNodeCollector;UnsupportedProgrammingLanguage;IgnoredContainer;NoAvailableAgent;UnsupportedRuntimeVersion;OtherAgentDetected +// +kubebuilder:validation:Enum=EnabledSuccessfully;WaitingForRuntimeInspection;WaitingForNodeCollector;UnsupportedProgrammingLanguage;IgnoredContainer;NoAvailableAgent;UnsupportedRuntimeVersion;MissingDistroParameter;OtherAgentDetected type AgentEnabledReason string const ( @@ -40,6 +40,7 @@ const ( AgentEnabledReasonIgnoredContainer AgentEnabledReason = "IgnoredContainer" AgentEnabledReasonNoAvailableAgent AgentEnabledReason = "NoAvailableAgent" AgentEnabledReasonUnsupportedRuntimeVersion AgentEnabledReason = "UnsupportedRuntimeVersion" + AgentEnabledReasonMissingDistroParameter AgentEnabledReason = "MissingDistroParameter" AgentEnabledReasonOtherAgentDetected AgentEnabledReason = "OtherAgentDetected" ) @@ -70,10 +71,12 @@ func AgentInjectionReasonPriority(reason AgentEnabledReason) int { return 5 case AgentEnabledReasonNoAvailableAgent: return 6 - case AgentEnabledReasonOtherAgentDetected: + case AgentEnabledReasonMissingDistroParameter: return 7 - default: + case AgentEnabledReasonOtherAgentDetected: return 8 + default: + return 9 } } @@ -152,6 +155,10 @@ type ContainerAgentConfig struct { // The name of the otel distribution to use for this container. // if the name is empty, this container should not be instrumented. OtelDistroName string `json:"otelDistroName,omitempty"` + + // Additional parameters to the distro that controls how it's being applied. + // Keys are parameter names (like "libc") and values are the value to use for that parameter (glibc / musl) + DistroParams map[string]string `json:"distroParams,omitempty"` } // Config for the OpenTelemeetry SDKs that should be applied to a workload. diff --git a/api/odigos/v1alpha1/zz_generated.deepcopy.go b/api/odigos/v1alpha1/zz_generated.deepcopy.go index a537ced10a..8e9170f453 100644 --- a/api/odigos/v1alpha1/zz_generated.deepcopy.go +++ b/api/odigos/v1alpha1/zz_generated.deepcopy.go @@ -239,6 +239,13 @@ func (in *ConfigOption) DeepCopy() *ConfigOption { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ContainerAgentConfig) DeepCopyInto(out *ContainerAgentConfig) { *out = *in + if in.DistroParams != nil { + in, out := &in.DistroParams, &out.DistroParams + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAgentConfig. @@ -471,7 +478,9 @@ func (in *InstrumentationConfigSpec) DeepCopyInto(out *InstrumentationConfigSpec if in.Containers != nil { in, out := &in.Containers, &out.Containers *out = make([]ContainerAgentConfig, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.SdkConfigs != nil { in, out := &in.SdkConfigs, &out.SdkConfigs diff --git a/common/libc_types.go b/common/libc_types.go index a8896f945b..cf0d5788a4 100644 --- a/common/libc_types.go +++ b/common/libc_types.go @@ -7,3 +7,5 @@ const ( Glibc LibCType = "glibc" Musl LibCType = "musl" ) + +const LibcTypeDistroParameterName = "LIBC_TYPE" diff --git a/distros/distro/oteldistribution.go b/distros/distro/oteldistribution.go index 3620a859e5..de847d633e 100644 --- a/distros/distro/oteldistribution.go +++ b/distros/distro/oteldistribution.go @@ -57,6 +57,10 @@ type OtelDistro struct { // each distribution must target a single language. Language common.ProgrammingLanguage `yaml:"language"` + // List of distribution parameters that are required to be set by the user. + // for example: libc type. + RequireParameters []string `yaml:"requireParameters,omitempty"` + // the runtime environments this distribution targets. // examples: nodejs, JVM, CPython, etc. // while java-script can run in both nodejs and browser, the distribution should specify where it is intended to run. diff --git a/distros/yamls/dotnet-community.yaml b/distros/yamls/dotnet-community.yaml index 573194f740..27489e2b9a 100644 --- a/distros/yamls/dotnet-community.yaml +++ b/distros/yamls/dotnet-community.yaml @@ -5,6 +5,8 @@ metadata: spec: name: dotnet-community language: dotnet + requireParameters: + - LIBC_TYPE runtimeEnvironments: - name: dotnet-version supportedVersions: '>= 6.0' @@ -16,3 +18,4 @@ spec: This distribution is for Dotnet applications using OpenTelemetry Native SDK and instrumentation libraries from the OpenTelemetry community. tiers: - community + - onprem diff --git a/docs/api-reference/odigos.io.v1alpha1.mdx b/docs/api-reference/odigos.io.v1alpha1.mdx index 235632c927..d82b1e526d 100644 --- a/docs/api-reference/odigos.io.v1alpha1.mdx +++ b/docs/api-reference/odigos.io.v1alpha1.mdx @@ -1039,6 +1039,18 @@ can be left empty if reason is self-explanatory.

if the name is empty, this container should not be instrumented.

+ + +distroParams [Required] + + +map[string]string + + +

Additional parameters to the distro that controls how it's being applied. +Keys are parameter names (like "libc") and values are the value to use for that parameter (glibc / musl)

+ + diff --git a/helm/odigos/templates/crds/odigos.io_instrumentationconfigs.yaml b/helm/odigos/templates/crds/odigos.io_instrumentationconfigs.yaml index 550129cb3f..a4327066b1 100644 --- a/helm/odigos/templates/crds/odigos.io_instrumentationconfigs.yaml +++ b/helm/odigos/templates/crds/odigos.io_instrumentationconfigs.yaml @@ -72,12 +72,20 @@ spec: - IgnoredContainer - NoAvailableAgent - UnsupportedRuntimeVersion + - MissingDistroParameter - OtherAgentDetected type: string containerName: description: The name of the container to which this configuration applies. type: string + distroParams: + additionalProperties: + type: string + description: |- + Additional parameters to the distro that controls how it's being applied. + Keys are parameter names (like "libc") and values are the value to use for that parameter (glibc / musl) + type: object otelDistroName: description: |- The name of the otel distribution to use for this container. diff --git a/instrumentor/controllers/agentenabled/sync.go b/instrumentor/controllers/agentenabled/sync.go index c6e2ef806c..7a90121abc 100644 --- a/instrumentor/controllers/agentenabled/sync.go +++ b/instrumentor/controllers/agentenabled/sync.go @@ -286,6 +286,30 @@ func containerInstrumentationConfig(containerName string, } } + distroParameters := map[string]string{} + for _, parameterName := range distro.RequireParameters { + switch parameterName { + case common.LibcTypeDistroParameterName: + if runtimeDetails.LibCType == nil { + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonMissingDistroParameter, + AgentEnabledMessage: fmt.Sprintf("missing required parameter '%s' for distro '%s'", common.LibcTypeDistroParameterName, distroName), + } + } + distroParameters[common.LibcTypeDistroParameterName] = string(*runtimeDetails.LibCType) + + default: + return odigosv1.ContainerAgentConfig{ + ContainerName: containerName, + AgentEnabled: false, + AgentEnabledReason: odigosv1.AgentEnabledReasonMissingDistroParameter, + AgentEnabledMessage: fmt.Sprintf("unsupported parameter '%s' for distro '%s'", parameterName, distroName), + } + } + } + // check for presence of other agents if runtimeDetails.OtherAgent != nil { if effectiveConfig.AllowConcurrentAgents == nil || !*effectiveConfig.AllowConcurrentAgents { @@ -302,6 +326,7 @@ func containerInstrumentationConfig(containerName string, AgentEnabledReason: odigosv1.AgentEnabledReasonEnabledSuccessfully, AgentEnabledMessage: fmt.Sprintf("we are operating alongside the %s, which is not the recommended configuration. We suggest disabling the %s for optimal performance.", runtimeDetails.OtherAgent.Name, runtimeDetails.OtherAgent.Name), OtelDistroName: distroName, + DistroParams: distroParameters, } } } @@ -310,6 +335,7 @@ func containerInstrumentationConfig(containerName string, ContainerName: containerName, AgentEnabled: true, OtelDistroName: distroName, + DistroParams: distroParameters, } return containerConfig From 29b06d7023a34b3c85e13b29a685c887bfb794db Mon Sep 17 00:00:00 2001 From: Avihu Hanya <34632558+AvihuHenya@users.noreply.github.com> Date: Thu, 6 Feb 2025 15:27:45 +0200 Subject: [PATCH 07/16] reduce fp nodejs runtime inspection (#2383) Co-authored-by: Eden Federman --- procdiscovery/pkg/inspectors/nodejs/nodejs.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/procdiscovery/pkg/inspectors/nodejs/nodejs.go b/procdiscovery/pkg/inspectors/nodejs/nodejs.go index 49fc8c1e78..09a615e5a0 100644 --- a/procdiscovery/pkg/inspectors/nodejs/nodejs.go +++ b/procdiscovery/pkg/inspectors/nodejs/nodejs.go @@ -1,7 +1,8 @@ package nodejs import ( - "strings" + "path/filepath" + "regexp" "github.com/hashicorp/go-version" @@ -11,10 +12,15 @@ import ( type NodejsInspector struct{} -const nodeProcessName = "node" +var v8Regex = regexp.MustCompile(`^(?:.*/)?node(\d+)?$`) + +var nodeExecutables = map[string]bool{ + "npm": true, + "yarn": true, +} func (n *NodejsInspector) Inspect(proc *process.Details) (common.ProgrammingLanguage, bool) { - if strings.Contains(proc.ExePath, nodeProcessName) || strings.Contains(proc.CmdLine, nodeProcessName) { + if v8Regex.MatchString(filepath.Base(proc.ExePath)) || nodeExecutables[filepath.Base(proc.ExePath)] { return common.JavascriptProgrammingLanguage, true } From fbfa7918f0c37adc4a4a7ed28defcb1ca92013c7 Mon Sep 17 00:00:00 2001 From: Amir Blum Date: Thu, 6 Feb 2025 15:28:47 +0200 Subject: [PATCH 08/16] feat: instrumentation rule for otel distros (#2396) This is to move away from the Deprecated `OtelSdk` and towards using the more generic OtelDistribution --------- Co-authored-by: Ron Federman <73110295+RonFed@users.noreply.github.com> --- .../bases/odigos.io_instrumentationrules.yaml | 20 +++++++++++++++---- .../v1alpha1/instrumentationrulespec.go | 9 +++++++++ .../v1alpha1/instrumentationrule_type.go | 7 ++++--- .../v1alpha1/instrumentationrules/otel-sdk.go | 12 +++++++++++ .../zz_generated.deepcopy.go | 20 +++++++++++++++++++ api/odigos/v1alpha1/zz_generated.deepcopy.go | 5 +++++ docs/api-reference/odigos.io.v1alpha1.mdx | 15 +++++++++++--- .../crds/odigos.io_instrumentationrules.yaml | 20 +++++++++++++++---- instrumentor/controllers/agentenabled/sync.go | 19 +++++++++++++++--- .../manifests/java-ebpf-instrumentations.yaml | 3 +++ .../legacy-dotnet-instrumentation.yaml | 3 +++ 11 files changed, 116 insertions(+), 17 deletions(-) diff --git a/api/config/crd/bases/odigos.io_instrumentationrules.yaml b/api/config/crd/bases/odigos.io_instrumentationrules.yaml index 07cd154ed1..d835f060ad 100644 --- a/api/config/crd/bases/odigos.io_instrumentationrules.yaml +++ b/api/config/crd/bases/odigos.io_instrumentationrules.yaml @@ -128,11 +128,23 @@ spec: regarding the rule for convenience. For example: why it was added. Odigos does not use or assume any meaning from this field.' type: string + otelDistros: + description: Set the otel distros to use instead of the defaults. + properties: + otelDistroNames: + description: |- + Set a list of distribution names that take priority over the default distributions. + if a language is not in this list, the default distribution will be used. + it multiple distributions are specified for the same language, in one or many rules, + the behavior is undefined. + items: + type: string + type: array + required: + - otelDistroNames + type: object otelSdks: - description: |- - Set the OtelSdk to use for the workloads in this rule. - instrumentation libraries will be ignored if set. - the rule will be used only for languages which are specified, and ignored otherwise. + description: 'Deprecated: use OrelDistros instead.' properties: otelSdkByLanguage: additionalProperties: diff --git a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationrulespec.go b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationrulespec.go index 46be580440..25a4b68db3 100644 --- a/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationrulespec.go +++ b/api/generated/odigos/applyconfiguration/odigos/v1alpha1/instrumentationrulespec.go @@ -32,6 +32,7 @@ type InstrumentationRuleSpecApplyConfiguration struct { InstrumentationLibraries *[]InstrumentationLibraryGlobalIdApplyConfiguration `json:"instrumentationLibraries,omitempty"` PayloadCollection *instrumentationrules.PayloadCollection `json:"payloadCollection,omitempty"` OtelSdks *instrumentationrules.OtelSdks `json:"otelSdks,omitempty"` + OtelDistros *instrumentationrules.OtelDistros `json:"otelDistros,omitempty"` CodeAttributes *instrumentationrules.CodeAttributes `json:"codeAttributes,omitempty"` } @@ -109,6 +110,14 @@ func (b *InstrumentationRuleSpecApplyConfiguration) WithOtelSdks(value instrumen return b } +// WithOtelDistros sets the OtelDistros field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OtelDistros field is set to the value of the last call. +func (b *InstrumentationRuleSpecApplyConfiguration) WithOtelDistros(value instrumentationrules.OtelDistros) *InstrumentationRuleSpecApplyConfiguration { + b.OtelDistros = &value + return b +} + // WithCodeAttributes sets the CodeAttributes field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the CodeAttributes field is set to the value of the last call. diff --git a/api/odigos/v1alpha1/instrumentationrule_type.go b/api/odigos/v1alpha1/instrumentationrule_type.go index 52d3180658..83e195b051 100644 --- a/api/odigos/v1alpha1/instrumentationrule_type.go +++ b/api/odigos/v1alpha1/instrumentationrule_type.go @@ -61,11 +61,12 @@ type InstrumentationRuleSpec struct { // Allows to configure payload collection aspects for different types of payloads. PayloadCollection *instrumentationrules.PayloadCollection `json:"payloadCollection,omitempty"` - // Set the OtelSdk to use for the workloads in this rule. - // instrumentation libraries will be ignored if set. - // the rule will be used only for languages which are specified, and ignored otherwise. + // Deprecated: use OrelDistros instead. OtelSdks *instrumentationrules.OtelSdks `json:"otelSdks,omitempty"` + // Set the otel distros to use instead of the defaults. + OtelDistros *instrumentationrules.OtelDistros `json:"otelDistros,omitempty"` + // Configure which code attributes should be recorded as span attributes. CodeAttributes *instrumentationrules.CodeAttributes `json:"codeAttributes,omitempty"` } diff --git a/api/odigos/v1alpha1/instrumentationrules/otel-sdk.go b/api/odigos/v1alpha1/instrumentationrules/otel-sdk.go index e70843b52b..5ed92b784a 100644 --- a/api/odigos/v1alpha1/instrumentationrules/otel-sdk.go +++ b/api/odigos/v1alpha1/instrumentationrules/otel-sdk.go @@ -4,6 +4,18 @@ import "github.com/odigos-io/odigos/common" // +kubebuilder:object:generate=true // +kubebuilder:deepcopy-gen=true +// Deprecated: Use OtelDistro instead type OtelSdks struct { OtelSdkByLanguage map[common.ProgrammingLanguage]common.OtelSdk `json:"otelSdkByLanguage"` } + +// +kubebuilder:object:generate=true +// +kubebuilder:deepcopy-gen=true +type OtelDistros struct { + + // Set a list of distribution names that take priority over the default distributions. + // if a language is not in this list, the default distribution will be used. + // it multiple distributions are specified for the same language, in one or many rules, + // the behavior is undefined. + OtelDistroNames []string `json:"otelDistroNames"` +} diff --git a/api/odigos/v1alpha1/instrumentationrules/zz_generated.deepcopy.go b/api/odigos/v1alpha1/instrumentationrules/zz_generated.deepcopy.go index a8f5f31d85..9a2de78f09 100644 --- a/api/odigos/v1alpha1/instrumentationrules/zz_generated.deepcopy.go +++ b/api/odigos/v1alpha1/instrumentationrules/zz_generated.deepcopy.go @@ -153,6 +153,26 @@ func (in *MessagingPayloadCollection) DeepCopy() *MessagingPayloadCollection { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OtelDistros) DeepCopyInto(out *OtelDistros) { + *out = *in + if in.OtelDistroNames != nil { + in, out := &in.OtelDistroNames, &out.OtelDistroNames + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtelDistros. +func (in *OtelDistros) DeepCopy() *OtelDistros { + if in == nil { + return nil + } + out := new(OtelDistros) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *OtelSdks) DeepCopyInto(out *OtelSdks) { *out = *in diff --git a/api/odigos/v1alpha1/zz_generated.deepcopy.go b/api/odigos/v1alpha1/zz_generated.deepcopy.go index 8e9170f453..91f4aba40d 100644 --- a/api/odigos/v1alpha1/zz_generated.deepcopy.go +++ b/api/odigos/v1alpha1/zz_generated.deepcopy.go @@ -864,6 +864,11 @@ func (in *InstrumentationRuleSpec) DeepCopyInto(out *InstrumentationRuleSpec) { *out = new(instrumentationrules.OtelSdks) (*in).DeepCopyInto(*out) } + if in.OtelDistros != nil { + in, out := &in.OtelDistros, &out.OtelDistros + *out = new(instrumentationrules.OtelDistros) + (*in).DeepCopyInto(*out) + } if in.CodeAttributes != nil { in, out := &in.CodeAttributes, &out.CodeAttributes *out = new(instrumentationrules.CodeAttributes) diff --git a/docs/api-reference/odigos.io.v1alpha1.mdx b/docs/api-reference/odigos.io.v1alpha1.mdx index d82b1e526d..f859666751 100644 --- a/docs/api-reference/odigos.io.v1alpha1.mdx +++ b/docs/api-reference/odigos.io.v1alpha1.mdx @@ -1869,9 +1869,18 @@ If empty, no instrumentation libraries will be used.

instrumentationrules.OtelSdks -

Set the OtelSdk to use for the workloads in this rule. -instrumentation libraries will be ignored if set. -the rule will be used only for languages which are specified, and ignored otherwise.

+

Deprecated: use OrelDistros instead.

+ + + + +otelDistros [Required] + + +instrumentationrules.OtelDistros + + +

Set the otel distros to use instead of the defaults.

diff --git a/helm/odigos/templates/crds/odigos.io_instrumentationrules.yaml b/helm/odigos/templates/crds/odigos.io_instrumentationrules.yaml index 07cd154ed1..d835f060ad 100644 --- a/helm/odigos/templates/crds/odigos.io_instrumentationrules.yaml +++ b/helm/odigos/templates/crds/odigos.io_instrumentationrules.yaml @@ -128,11 +128,23 @@ spec: regarding the rule for convenience. For example: why it was added. Odigos does not use or assume any meaning from this field.' type: string + otelDistros: + description: Set the otel distros to use instead of the defaults. + properties: + otelDistroNames: + description: |- + Set a list of distribution names that take priority over the default distributions. + if a language is not in this list, the default distribution will be used. + it multiple distributions are specified for the same language, in one or many rules, + the behavior is undefined. + items: + type: string + type: array + required: + - otelDistroNames + type: object otelSdks: - description: |- - Set the OtelSdk to use for the workloads in this rule. - instrumentation libraries will be ignored if set. - the rule will be used only for languages which are specified, and ignored otherwise. + description: 'Deprecated: use OrelDistros instead.' properties: otelSdkByLanguage: additionalProperties: diff --git a/instrumentor/controllers/agentenabled/sync.go b/instrumentor/controllers/agentenabled/sync.go index 7a90121abc..e3c844db4c 100644 --- a/instrumentor/controllers/agentenabled/sync.go +++ b/instrumentor/controllers/agentenabled/sync.go @@ -344,14 +344,27 @@ func containerInstrumentationConfig(containerName string, func applyRulesForDistros(defaultDistros map[common.ProgrammingLanguage]string, instrumentationRules *[]odigosv1.InstrumentationRule) map[common.ProgrammingLanguage]string { + distrosPerLanguage := make(map[common.ProgrammingLanguage]string, len(defaultDistros)) + for lang, distroName := range defaultDistros { + distrosPerLanguage[lang] = distroName + } + for _, rule := range *instrumentationRules { - if rule.Spec.OtelSdks == nil { + if rule.Spec.OtelDistros == nil { continue } - // TODO: change this from otel sdks to distros and use distro name + for _, distroName := range rule.Spec.OtelDistros.OtelDistroNames { + distro := distros.GetDistroByName(distroName) + if distro == nil { + continue + } + + lang := distro.Language + distrosPerLanguage[lang] = distroName + } } - return defaultDistros + return distrosPerLanguage } // This function checks if we are waiting for some transient prerequisites to be completed before injecting the agent. diff --git a/profiles/manifests/java-ebpf-instrumentations.yaml b/profiles/manifests/java-ebpf-instrumentations.yaml index 0d1abf096c..80a7668cb3 100644 --- a/profiles/manifests/java-ebpf-instrumentations.yaml +++ b/profiles/manifests/java-ebpf-instrumentations.yaml @@ -10,3 +10,6 @@ spec: java: sdkTier: "enterprise" sdkType: "ebpf" + otelDistros: + otelDistroNames: + - "java-ebpf-instrumentations" diff --git a/profiles/manifests/legacy-dotnet-instrumentation.yaml b/profiles/manifests/legacy-dotnet-instrumentation.yaml index bf1bd3e5bd..4e09b07a11 100644 --- a/profiles/manifests/legacy-dotnet-instrumentation.yaml +++ b/profiles/manifests/legacy-dotnet-instrumentation.yaml @@ -10,3 +10,6 @@ spec: dotnet: sdkTier: "enterprise" sdkType: "native" + otelDistros: + otelDistroNames: + - "dotnet-legacy" From 741e957833862ddfd0f8b578e8114f6269058ddf Mon Sep 17 00:00:00 2001 From: Tamir David Date: Thu, 6 Feb 2025 18:38:55 +0200 Subject: [PATCH 09/16] chore: bump-python agent version (#2397) --- agents/python/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agents/python/setup.py b/agents/python/setup.py index 5b912908ad..c74e119b10 100644 --- a/agents/python/setup.py +++ b/agents/python/setup.py @@ -6,7 +6,7 @@ # index_url = 'http://host.docker.internal:8081/packages/odigos_opentelemetry_python-0.1.1-py3-none-any.whl' install_requires = [ - f"odigos-opentelemetry-python @ {index_url}" if index_url else "odigos-opentelemetry-python==1.0.25" + f"odigos-opentelemetry-python @ {index_url}" if index_url else "odigos-opentelemetry-python==1.0.26" ] setup( From 11428367141ab3f3b78ea9e09dfdb51920c3441b Mon Sep 17 00:00:00 2001 From: Amir Blum Date: Thu, 6 Feb 2025 21:12:12 +0200 Subject: [PATCH 10/16] feat: mount odigos agent directory via pod manifest (#2398) This is preparation for removing the instrumentation device which currently is responsible for the mount --- api/k8sconsts/agent.go | 6 ++ .../v1alpha1/instrumentationconfig_types.go | 9 +++ cli/cmd/resources/odiglet.go | 6 +- distros/distro/oteldistribution.go | 14 ++++ distros/yamls/dotnet-community.yaml | 2 + distros/yamls/dotnet-legacy.yaml | 2 + distros/yamls/java-community.yaml | 3 +- distros/yamls/java-ebpf-instrumentations.yaml | 2 + distros/yamls/java-enterprise.yaml | 2 + distros/yamls/nodejs-community.yaml | 2 + distros/yamls/nodejs-enterprise.yaml | 2 + distros/yamls/python-community.yaml | 2 + distros/yamls/python-enterprise.yaml | 3 +- .../controllers/agentenabled/pods_webhook.go | 72 ++++++++++++++++++- .../runtimemigration/runtimemigration.go | 6 +- k8sutils/pkg/cri/criwrapper.go | 3 +- odiglet/pkg/instrumentation/fs/agents.go | 10 +-- 17 files changed, 129 insertions(+), 17 deletions(-) create mode 100644 api/k8sconsts/agent.go diff --git a/api/k8sconsts/agent.go b/api/k8sconsts/agent.go new file mode 100644 index 0000000000..8aadfc001c --- /dev/null +++ b/api/k8sconsts/agent.go @@ -0,0 +1,6 @@ +package k8sconsts + +const ( + OdigosAgentsDirectory = "/var/odigos" + OdigosAgentMountVolumeName = "odigos-agent" +) diff --git a/api/odigos/v1alpha1/instrumentationconfig_types.go b/api/odigos/v1alpha1/instrumentationconfig_types.go index cab5e075e9..ee1d15bd82 100644 --- a/api/odigos/v1alpha1/instrumentationconfig_types.go +++ b/api/odigos/v1alpha1/instrumentationconfig_types.go @@ -179,6 +179,15 @@ type InstrumentationConfigSpec struct { SdkConfigs []SdkConfig `json:"sdkConfigs,omitempty"` } +func (in *InstrumentationConfigSpec) GetContainerAgentConfig(containerName string) *ContainerAgentConfig { + for _, containerConfig := range in.Containers { + if containerConfig.ContainerName == containerName { + return &containerConfig + } + } + return nil +} + type SdkConfig struct { // The language of the SDK being configured diff --git a/cli/cmd/resources/odiglet.go b/cli/cmd/resources/odiglet.go index 8a5a58388e..b3f8a69751 100644 --- a/cli/cmd/resources/odiglet.go +++ b/cli/cmd/resources/odiglet.go @@ -360,7 +360,7 @@ func NewOdigletDaemonSet(ns string, version string, imagePrefix string, imageNam Name: "odigos", VolumeSource: corev1.VolumeSource{ HostPath: &corev1.HostPathVolumeSource{ - Path: "/var/odigos", + Path: k8sconsts.OdigosAgentsDirectory, }, }, }, @@ -408,7 +408,7 @@ func NewOdigletDaemonSet(ns string, version string, imagePrefix string, imageNam VolumeMounts: append([]corev1.VolumeMount{ { Name: "odigos", - MountPath: "/var/odigos", + MountPath: k8sconsts.OdigosAgentsDirectory, }, }, odigosSeLinuxHostVolumeMounts...), ImagePullPolicy: "IfNotPresent", @@ -477,7 +477,7 @@ func NewOdigletDaemonSet(ns string, version string, imagePrefix string, imageNam }, { Name: "odigos", - MountPath: "/var/odigos", + MountPath: k8sconsts.OdigosAgentsDirectory, ReadOnly: true, }, { diff --git a/distros/distro/oteldistribution.go b/distros/distro/oteldistribution.go index de847d633e..9186b7a80a 100644 --- a/distros/distro/oteldistribution.go +++ b/distros/distro/oteldistribution.go @@ -2,6 +2,8 @@ package distro import "github.com/odigos-io/odigos/common" +const AgentPlaceholderDirectory = "{{ODIGOS_AGENTS_DIR}}" + type RuntimeEnvironment struct { // the runtime environment this distribution targets. // examples: nodejs, JVM, CPython, etc. @@ -38,6 +40,13 @@ type EnvironmentVariable struct { Delimiter string `yaml:"delimiter"` } +type AgentDirectory struct { + // The name of a directory where odigos agent files can be found. + // The special value {{ODIGOS_AGENTS_DIR}} is replaced with the actual value at this platform. + // K8s will mount this directory from the node fs to the container, but other platforms may have different ways for handling this. + DirectoryName string `yaml:"directoryName"` +} + // OtelDistro (Short for OpenTelemetry Distribution) is a collection of OpenTelemetry components, // including instrumentations, SDKs, and other components that are distributed together. // Each distribution includes a unique name, and metadata about the ways it is implemented. @@ -78,4 +87,9 @@ type OtelDistro struct { // a list of environment variables that needs to be set in the application runtime // to enable the distribution. EnvironmentVariables []EnvironmentVariable `yaml:"environmentVariables,omitempty"` + + // Directories on the FS where the agent files can be consumed from. + // this can be empty if the distribution does not require agent files, + // or contain more than one directory if the distribution requires it. + AgentDirectories []AgentDirectory `yaml:"agentDirectories,omitempty"` } diff --git a/distros/yamls/dotnet-community.yaml b/distros/yamls/dotnet-community.yaml index 27489e2b9a..0e43fe486f 100644 --- a/distros/yamls/dotnet-community.yaml +++ b/distros/yamls/dotnet-community.yaml @@ -19,3 +19,5 @@ spec: tiers: - community - onprem + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/dotnet" diff --git a/distros/yamls/dotnet-legacy.yaml b/distros/yamls/dotnet-legacy.yaml index 554a55627c..561aafa052 100644 --- a/distros/yamls/dotnet-legacy.yaml +++ b/distros/yamls/dotnet-legacy.yaml @@ -13,3 +13,5 @@ spec: This distribution is for Dotnet applications running on old runtimes, using OpenTelemetry Native SDK and instrumentation libraries from the OpenTelemetry community. tiers: - onprem + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/legacy-dotnet" diff --git a/distros/yamls/java-community.yaml b/distros/yamls/java-community.yaml index b108a73820..8ae6392005 100644 --- a/distros/yamls/java-community.yaml +++ b/distros/yamls/java-community.yaml @@ -20,4 +20,5 @@ spec: - envName: JAVA_TOOL_OPTIONS envValue: '-javaagent:{{ODIGOS_AGENTS_DIR}}/java/javaagent.jar' delimiter: ' ' - + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/java" diff --git a/distros/yamls/java-ebpf-instrumentations.yaml b/distros/yamls/java-ebpf-instrumentations.yaml index c405a936e7..eb4bef7783 100644 --- a/distros/yamls/java-ebpf-instrumentations.yaml +++ b/distros/yamls/java-ebpf-instrumentations.yaml @@ -20,3 +20,5 @@ spec: - envName: JAVA_TOOL_OPTIONS envValue: '-javaagent:{{ODIGOS_AGENTS_DIR}}/java-ebpf/dtrace-injector.jar' delimiter: ' ' + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/java-ebpf" diff --git a/distros/yamls/java-enterprise.yaml b/distros/yamls/java-enterprise.yaml index 1c9a9c7a8c..59de21986a 100644 --- a/distros/yamls/java-enterprise.yaml +++ b/distros/yamls/java-enterprise.yaml @@ -20,3 +20,5 @@ spec: - envName: JAVA_TOOL_OPTIONS envValue: "-javaagent:{{ODIGOS_AGENTS_DIR}}/java-ext-ebpf/javaagent.jar -Dotel.javaagent.extensions={{ODIGOS_AGENTS_DIR}}/java-ext-ebpf/otel_agent_extension.jar" delimiter: ' ' + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/java-ext-ebpf" diff --git a/distros/yamls/nodejs-community.yaml b/distros/yamls/nodejs-community.yaml index 94bed49104..60f26cb5fc 100644 --- a/distros/yamls/nodejs-community.yaml +++ b/distros/yamls/nodejs-community.yaml @@ -17,3 +17,5 @@ spec: - envName: NODE_OPTIONS envValue: '--require {{ODIGOS_AGENTS_DIR}}/nodejs/autoinstrumentation.js' delimiter: ' ' + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/nodejs" diff --git a/distros/yamls/nodejs-enterprise.yaml b/distros/yamls/nodejs-enterprise.yaml index cb860e1de6..e5d474088f 100644 --- a/distros/yamls/nodejs-enterprise.yaml +++ b/distros/yamls/nodejs-enterprise.yaml @@ -17,3 +17,5 @@ spec: - envName: NODE_OPTIONS envValue: '--require {{ODIGOS_AGENTS_DIR}}/nodejs-ebpf/autoinstrumentation.js' delimiter: ' ' + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/nodejs-ebpf" diff --git a/distros/yamls/python-community.yaml b/distros/yamls/python-community.yaml index 7c14aa9c9d..ac96da44dc 100644 --- a/distros/yamls/python-community.yaml +++ b/distros/yamls/python-community.yaml @@ -17,3 +17,5 @@ spec: - envName: PYTHONPATH envValue: '{{ODIGOS_AGENTS_DIR}}/python:{{ODIGOS_AGENTS_DIR}}/python/opentelemetry/instrumentation/auto_instrumentation' delimiter: ':' + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/python" diff --git a/distros/yamls/python-enterprise.yaml b/distros/yamls/python-enterprise.yaml index 877e7290e3..11b5749cd9 100644 --- a/distros/yamls/python-enterprise.yaml +++ b/distros/yamls/python-enterprise.yaml @@ -17,4 +17,5 @@ spec: - envName: PYTHONPATH envValue: '{{ODIGOS_AGENTS_DIR}}/python-ebpf:{{ODIGOS_AGENTS_DIR}}/python/opentelemetry/instrumentation/auto_instrumentation:{{ODIGOS_AGENTS_DIR}}/python' delimiter: ':' - + agentDirectories: + - directoryName: "{{ODIGOS_AGENTS_DIR}}/python-ebpf" diff --git a/instrumentor/controllers/agentenabled/pods_webhook.go b/instrumentor/controllers/agentenabled/pods_webhook.go index 33f2d80fb3..b2a08cec5c 100644 --- a/instrumentor/controllers/agentenabled/pods_webhook.go +++ b/instrumentor/controllers/agentenabled/pods_webhook.go @@ -10,6 +10,8 @@ import ( "github.com/odigos-io/odigos/api/k8sconsts" odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" "github.com/odigos-io/odigos/common" + "github.com/odigos-io/odigos/distros" + "github.com/odigos-io/odigos/distros/distro" "github.com/odigos-io/odigos/instrumentor/controllers/utils" podutils "github.com/odigos-io/odigos/instrumentor/internal/pod" webhookdeviceinjector "github.com/odigos-io/odigos/instrumentor/internal/webhook_device_injector" @@ -78,6 +80,31 @@ func (p *PodsWebhook) Default(ctx context.Context, obj runtime.Object) error { return nil } + // Add odiglet installed node-affinity to the pod + podutils.AddOdigletInstalledAffinity(pod) + + volumeMounted := false + for i := range pod.Spec.Containers { + podContainerSpec := &pod.Spec.Containers[i] + containerConfig := ic.Spec.GetContainerAgentConfig(podContainerSpec.Name) + if containerConfig == nil { + // no config is found for this container, so skip (don't inject anything to it) + continue + } + + containerVolumeMounted, err := injectOdigosToContainer(containerConfig, podContainerSpec) + if err != nil { + logger.Error(err, "failed to inject ODIGOS agent to container") + continue + } + volumeMounted = volumeMounted || containerVolumeMounted + } + + if volumeMounted { + // only mount the volume if at least one container has a volume to mount + mountPodVolume(pod) + } + // Inject ODIGOS environment variables and instrumentation device into all containers injectErr := p.injectOdigosInstrumentation(ctx, pod, &ic, pw) if injectErr != nil { @@ -85,9 +112,6 @@ func (p *PodsWebhook) Default(ctx context.Context, obj runtime.Object) error { return nil } - // Add odiglet installed node-affinity to the pod - podutils.AddOdigletInstalledAffinity(pod) - return nil } @@ -191,6 +215,48 @@ func (p *PodsWebhook) injectOdigosInstrumentation(ctx context.Context, pod *core return nil } +func mountDirectory(containerSpec *corev1.Container, dir string) { + // TODO: assuming the directory always starts with {{ODIGOS_AGENTS_DIR}}. This should be validated. + // Should we return errors here to validate static values? + relativePath := strings.TrimPrefix(dir, distro.AgentPlaceholderDirectory+"/") + absolutePath := strings.ReplaceAll(dir, distro.AgentPlaceholderDirectory, k8sconsts.OdigosAgentsDirectory) + containerSpec.VolumeMounts = append(containerSpec.VolumeMounts, corev1.VolumeMount{ + Name: k8sconsts.OdigosAgentMountVolumeName, + SubPath: relativePath, + MountPath: absolutePath, + ReadOnly: true, + }) +} + +func injectOdigosToContainer(containerConfig *odigosv1.ContainerAgentConfig, podContainerSpec *corev1.Container) (bool, error) { + + distroName := containerConfig.OtelDistroName + + distroMetadata := distros.GetDistroByName(distroName) + if distroMetadata == nil { + return false, fmt.Errorf("distribution %s not found", distroName) + } + + volumeMounted := false + for _, agentDirectory := range distroMetadata.AgentDirectories { + mountDirectory(podContainerSpec, agentDirectory.DirectoryName) + volumeMounted = true + } + + return volumeMounted, nil +} + +func mountPodVolume(pod *corev1.Pod) { + pod.Spec.Volumes = append(pod.Spec.Volumes, corev1.Volume{ + Name: k8sconsts.OdigosAgentMountVolumeName, + VolumeSource: corev1.VolumeSource{ + HostPath: &corev1.HostPathVolumeSource{ + Path: k8sconsts.OdigosAgentsDirectory, + }, + }, + }) +} + func envVarsExist(containerEnv []corev1.EnvVar, commonEnvVars []corev1.EnvVar) bool { envMap := make(map[string]struct{}) for _, envVar := range containerEnv { diff --git a/instrumentor/runtimemigration/runtimemigration.go b/instrumentor/runtimemigration/runtimemigration.go index 127eb383a0..58678e25d4 100644 --- a/instrumentor/runtimemigration/runtimemigration.go +++ b/instrumentor/runtimemigration/runtimemigration.go @@ -247,7 +247,7 @@ func handleContainerRuntimeDetailsUpdate( continue } - if strings.Contains(*envValue, "/var/odigos") { + if strings.Contains(*envValue, k8sconsts.OdigosAgentsDirectory) { cleanedEnvValue := envOverwrite.CleanupEnvValueFromOdigosAdditions(envKey, *envValue) annotationEnvVarsForContainer[envKey] = &cleanedEnvValue needToUpdateWorkloadAnnotation = true @@ -276,7 +276,7 @@ func handleContainerRuntimeDetailsUpdate( filteredEnvVars := []v1alpha1.EnvVar{} for _, envVar := range containerRuntimeDetails.EnvFromContainerRuntime { - if strings.Contains(envVar.Value, "/var/odigos") { + if strings.Contains(envVar.Value, k8sconsts.OdigosAgentsDirectory) { // Skip the entry continue } @@ -378,7 +378,7 @@ func revertOriginalEnvAnnotationInPlace(originalWorkloadEnvVar *envoverwrite.Ori newContainerEnvs := []corev1.EnvVar{} for _, manifestEnvVar := range containerManifest.Env { - if !strings.Contains(manifestEnvVar.Value, "/var/odigos") { + if !strings.Contains(manifestEnvVar.Value, k8sconsts.OdigosAgentsDirectory) { // we only revert values that odigos overwrote, // if the value is not odigos value, keep it as is newContainerEnvs = append(newContainerEnvs, manifestEnvVar) diff --git a/k8sutils/pkg/cri/criwrapper.go b/k8sutils/pkg/cri/criwrapper.go index 3861d703f8..1a0475ab4b 100644 --- a/k8sutils/pkg/cri/criwrapper.go +++ b/k8sutils/pkg/cri/criwrapper.go @@ -14,6 +14,7 @@ import ( "google.golang.org/grpc/credentials/insecure" criapi "k8s.io/cri-api/pkg/apis/runtime/v1" + "github.com/odigos-io/odigos/api/k8sconsts" odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" ) @@ -157,7 +158,7 @@ func (rc *CriClient) GetContainerEnvVarsList(ctx context.Context, envVarKeys []s // If the environment variable originates from the device, it will still be observed in the CRI. // In this case, it should not be set as envFromContainerRuntime. // We can be certain that it is not coming from the manifest, as CRI is only queried when the variable is not found in the manifest. - if strings.Contains(value, "/var/odigos") { + if strings.Contains(value, k8sconsts.OdigosAgentsDirectory) { continue } result = append(result, odigosv1.EnvVar{Name: key, Value: value}) diff --git a/odiglet/pkg/instrumentation/fs/agents.go b/odiglet/pkg/instrumentation/fs/agents.go index 267acf4295..f1775590c0 100644 --- a/odiglet/pkg/instrumentation/fs/agents.go +++ b/odiglet/pkg/instrumentation/fs/agents.go @@ -10,12 +10,12 @@ import ( "strings" "syscall" + "github.com/odigos-io/odigos/api/k8sconsts" "github.com/odigos-io/odigos/odiglet/pkg/log" ) const ( containerDir = "/instrumentations" - hostDir = "/var/odigos" chrootDir = "/host" semanagePath = "/sbin/semanage" restoreconPath = "/sbin/restorecon" @@ -38,18 +38,18 @@ func CopyAgentsDirectoryToHost() error { "/var/odigos/python-ebpf/pythonUSDT.abi3.so": {}, } - updatedFilesToKeepMap, err := removeChangedFilesFromKeepMap(filesToKeep, containerDir, hostDir) + updatedFilesToKeepMap, err := removeChangedFilesFromKeepMap(filesToKeep, containerDir, k8sconsts.OdigosAgentsDirectory) if err != nil { log.Logger.Error(err, "Error getting changed files") } - err = removeFilesInDir(hostDir, updatedFilesToKeepMap) + err = removeFilesInDir(k8sconsts.OdigosAgentsDirectory, updatedFilesToKeepMap) if err != nil { log.Logger.Error(err, "Error removing instrumentation directory from host") return err } - err = copyDirectories(containerDir, hostDir, updatedFilesToKeepMap) + err = copyDirectories(containerDir, k8sconsts.OdigosAgentsDirectory, updatedFilesToKeepMap) if err != nil { log.Logger.Error(err, "Error copying instrumentation directory to host") return err @@ -73,7 +73,7 @@ func CopyAgentsDirectoryToHost() error { _, err = exec.LookPath(restoreconPath) if err == nil { // Run the restorecon command to apply the new context - cmd := exec.Command(restoreconPath, "-r", "/var/odigos") + cmd := exec.Command(restoreconPath, "-r", k8sconsts.OdigosAgentsDirectory) err = cmd.Run() if err != nil { log.Logger.Error(err, "Error running restorecon command") From f1be20dd9e7ba75572a0e1f91fb0d54d2c95e130 Mon Sep 17 00:00:00 2001 From: Amir Blum Date: Fri, 7 Feb 2025 13:44:47 +0200 Subject: [PATCH 11/16] chore: migrate ebpf manager from device to distro name env (#2401) As part of the effort to remove instrumentation device, this PR: - add environment variable to containers, `ODIGOS_DISTRO_NAME` to describe the name of the distro injected to the pod. - migrate ebpf manager to match distribution based on the new environment variable with fallback to device so not to break existing users. - fix missing agent directory needed in python - remove device from 4 distros that do not inject any env variables - only need the `/var/odigos` mount, or not. --- api/k8sconsts/envvars.go | 2 + distros/yamls/python-enterprise.yaml | 1 + .../controllers/agentenabled/pods_webhook.go | 94 ++++--------------- .../agentenabled/podswebhook/env.go | 50 ++++++++++ .../agentenabled/podswebhook/mount.go | 33 +++++++ k8sutils/pkg/container/container.go | 28 ++++++ odiglet/pkg/ebpf/distribution_matcher.go | 2 +- odiglet/pkg/ebpf/reporter.go | 1 + odiglet/pkg/ebpf/resolvers.go | 11 +++ .../assert/simple-demo-instrumented.yaml | 5 - 10 files changed, 147 insertions(+), 80 deletions(-) create mode 100644 instrumentor/controllers/agentenabled/podswebhook/env.go create mode 100644 instrumentor/controllers/agentenabled/podswebhook/mount.go diff --git a/api/k8sconsts/envvars.go b/api/k8sconsts/envvars.go index 8788fbcaa6..394f10c4ac 100644 --- a/api/k8sconsts/envvars.go +++ b/api/k8sconsts/envvars.go @@ -4,6 +4,7 @@ const ( OdigosEnvVarNamespace = "ODIGOS_WORKLOAD_NAMESPACE" OdigosEnvVarContainerName = "ODIGOS_CONTAINER_NAME" OdigosEnvVarPodName = "ODIGOS_POD_NAME" + OdigosEnvVarDistroName = "ODIGOS_DISTRO_NAME" ) func OdigosInjectedEnvVars() []string { @@ -11,5 +12,6 @@ func OdigosInjectedEnvVars() []string { OdigosEnvVarNamespace, OdigosEnvVarContainerName, OdigosEnvVarPodName, + OdigosEnvVarDistroName, } } diff --git a/distros/yamls/python-enterprise.yaml b/distros/yamls/python-enterprise.yaml index 11b5749cd9..cb6532a852 100644 --- a/distros/yamls/python-enterprise.yaml +++ b/distros/yamls/python-enterprise.yaml @@ -19,3 +19,4 @@ spec: delimiter: ':' agentDirectories: - directoryName: "{{ODIGOS_AGENTS_DIR}}/python-ebpf" + - directoryName: "{{ODIGOS_AGENTS_DIR}}/python" diff --git a/instrumentor/controllers/agentenabled/pods_webhook.go b/instrumentor/controllers/agentenabled/pods_webhook.go index b2a08cec5c..4b93ec7424 100644 --- a/instrumentor/controllers/agentenabled/pods_webhook.go +++ b/instrumentor/controllers/agentenabled/pods_webhook.go @@ -11,7 +11,7 @@ import ( odigosv1 "github.com/odigos-io/odigos/api/odigos/v1alpha1" "github.com/odigos-io/odigos/common" "github.com/odigos-io/odigos/distros" - "github.com/odigos-io/odigos/distros/distro" + "github.com/odigos-io/odigos/instrumentor/controllers/agentenabled/podswebhook" "github.com/odigos-io/odigos/instrumentor/controllers/utils" podutils "github.com/odigos-io/odigos/instrumentor/internal/pod" webhookdeviceinjector "github.com/odigos-io/odigos/instrumentor/internal/webhook_device_injector" @@ -92,7 +92,12 @@ func (p *PodsWebhook) Default(ctx context.Context, obj runtime.Object) error { continue } - containerVolumeMounted, err := injectOdigosToContainer(containerConfig, podContainerSpec) + if !containerConfig.AgentEnabled || containerConfig.OtelDistroName == "" { + // container config exists, but no agent should be injected by webhook to this container + continue + } + + containerVolumeMounted, err := injectOdigosToContainer(containerConfig, podContainerSpec, *pw) if err != nil { logger.Error(err, "failed to inject ODIGOS agent to container") continue @@ -102,7 +107,7 @@ func (p *PodsWebhook) Default(ctx context.Context, obj runtime.Object) error { if volumeMounted { // only mount the volume if at least one container has a volume to mount - mountPodVolume(pod) + podswebhook.MountPodVolume(pod) } // Inject ODIGOS environment variables and instrumentation device into all containers @@ -148,8 +153,6 @@ func (p *PodsWebhook) podWorkload(ctx context.Context, pod *corev1.Pod) (*k8scon func (p *PodsWebhook) injectOdigosInstrumentation(ctx context.Context, pod *corev1.Pod, ic *odigosv1.InstrumentationConfig, pw *k8sconsts.PodWorkload) error { logger := log.FromContext(ctx) - // Environment variables that remain consistent across all containers - commonEnvVars := getCommonEnvVars() otelSdkToUse, err := getRelevantOtelSDKs(ctx, p.Client, *pw) if err != nil { @@ -175,16 +178,17 @@ func (p *PodsWebhook) injectOdigosInstrumentation(ctx context.Context, pod *core continue } - webhookdeviceinjector.InjectOdigosInstrumentationDevice(*pw, container, otelSdk, runtimeDetails) - webhookenvinjector.InjectOdigosAgentEnvVars(logger, *pw, container, otelSdk, runtimeDetails) - - // Check if the environment variables are already present, if so skip inject them again. - if envVarsExist(container.Env, commonEnvVars) { - continue + // amir: 07 feb 2025. hard-coded temporary list which is removed once all distros migrate away from device + if (runtimeDetails.Language == common.JavascriptProgrammingLanguage && otelSdk == common.OtelSdkEbpfEnterprise) || + (runtimeDetails.Language == common.GoProgrammingLanguage && otelSdk == common.OtelSdkEbpfCommunity) || + (runtimeDetails.Language == common.JavaProgrammingLanguage && otelSdk == common.OtelSdkEbpfEnterprise) || + (runtimeDetails.Language == common.MySQLProgrammingLanguage && otelSdk == common.OtelSdkEbpfEnterprise) { + // Skip device injection for distros that no longer use it + } else { + webhookdeviceinjector.InjectOdigosInstrumentationDevice(*pw, container, otelSdk, runtimeDetails) } - containerNameEnv := corev1.EnvVar{Name: k8sconsts.OdigosEnvVarContainerName, Value: container.Name} - container.Env = append(container.Env, append(commonEnvVars, containerNameEnv)...) + webhookenvinjector.InjectOdigosAgentEnvVars(logger, *pw, container, otelSdk, runtimeDetails) if shouldInjectServiceName(runtimeDetails.Language, otelSdk) { // Ensure the serviceName is fetched only once per pod @@ -215,20 +219,7 @@ func (p *PodsWebhook) injectOdigosInstrumentation(ctx context.Context, pod *core return nil } -func mountDirectory(containerSpec *corev1.Container, dir string) { - // TODO: assuming the directory always starts with {{ODIGOS_AGENTS_DIR}}. This should be validated. - // Should we return errors here to validate static values? - relativePath := strings.TrimPrefix(dir, distro.AgentPlaceholderDirectory+"/") - absolutePath := strings.ReplaceAll(dir, distro.AgentPlaceholderDirectory, k8sconsts.OdigosAgentsDirectory) - containerSpec.VolumeMounts = append(containerSpec.VolumeMounts, corev1.VolumeMount{ - Name: k8sconsts.OdigosAgentMountVolumeName, - SubPath: relativePath, - MountPath: absolutePath, - ReadOnly: true, - }) -} - -func injectOdigosToContainer(containerConfig *odigosv1.ContainerAgentConfig, podContainerSpec *corev1.Container) (bool, error) { +func injectOdigosToContainer(containerConfig *odigosv1.ContainerAgentConfig, podContainerSpec *corev1.Container, pw k8sconsts.PodWorkload) (bool, error) { distroName := containerConfig.OtelDistroName @@ -239,38 +230,14 @@ func injectOdigosToContainer(containerConfig *odigosv1.ContainerAgentConfig, pod volumeMounted := false for _, agentDirectory := range distroMetadata.AgentDirectories { - mountDirectory(podContainerSpec, agentDirectory.DirectoryName) + podswebhook.MountDirectory(podContainerSpec, agentDirectory.DirectoryName) volumeMounted = true } + podswebhook.InjectOdigosK8sEnvVars(podContainerSpec, distroName, pw.Namespace) return volumeMounted, nil } -func mountPodVolume(pod *corev1.Pod) { - pod.Spec.Volumes = append(pod.Spec.Volumes, corev1.Volume{ - Name: k8sconsts.OdigosAgentMountVolumeName, - VolumeSource: corev1.VolumeSource{ - HostPath: &corev1.HostPathVolumeSource{ - Path: k8sconsts.OdigosAgentsDirectory, - }, - }, - }) -} - -func envVarsExist(containerEnv []corev1.EnvVar, commonEnvVars []corev1.EnvVar) bool { - envMap := make(map[string]struct{}) - for _, envVar := range containerEnv { - envMap[envVar.Name] = struct{}{} // Inserting empty struct as value - } - - for _, commonEnvVar := range commonEnvVars { - if _, exists := envMap[commonEnvVar.Name]; exists { // Checking if key exists - return true - } - } - return false -} - func getWorkloadKindAttributeKey(podWorkload *k8sconsts.PodWorkload) attribute.Key { switch podWorkload.Kind { case k8sconsts.WorkloadKindDeployment: @@ -336,27 +303,6 @@ func shouldInjectServiceName(pl common.ProgrammingLanguage, otelsdk common.OtelS return false } -func getCommonEnvVars() []corev1.EnvVar { - return []corev1.EnvVar{ - { - Name: k8sconsts.OdigosEnvVarNamespace, - ValueFrom: &corev1.EnvVarSource{ - FieldRef: &corev1.ObjectFieldSelector{ - FieldPath: "metadata.namespace", - }, - }, - }, - { - Name: k8sconsts.OdigosEnvVarPodName, - ValueFrom: &corev1.EnvVarSource{ - FieldRef: &corev1.ObjectFieldSelector{ - FieldPath: "metadata.name", - }, - }, - }, - } -} - // checks for the service name on the annotation, or fallback to the workload name func (p *PodsWebhook) getServiceNameForEnv(ctx context.Context, logger logr.Logger, podWorkload *k8sconsts.PodWorkload) *string { workloadObj := workload.ClientObjectFromWorkloadKind(podWorkload.Kind) diff --git a/instrumentor/controllers/agentenabled/podswebhook/env.go b/instrumentor/controllers/agentenabled/podswebhook/env.go new file mode 100644 index 0000000000..a1b88d59c7 --- /dev/null +++ b/instrumentor/controllers/agentenabled/podswebhook/env.go @@ -0,0 +1,50 @@ +package podswebhook + +import ( + "github.com/odigos-io/odigos/api/k8sconsts" + corev1 "k8s.io/api/core/v1" +) + +func InjectOdigosK8sEnvVars(container *corev1.Container, distroName string, ns string) { + + // check for existing env vars so we don't introduce them again + existingEnvNames := make(map[string]struct{}) + for _, envVar := range container.Env { + existingEnvNames[envVar.Name] = struct{}{} + } + + injectEnvVarToPodContainer(&existingEnvNames, container, k8sconsts.OdigosEnvVarContainerName, container.Name) + injectEnvVarToPodContainer(&existingEnvNames, container, k8sconsts.OdigosEnvVarDistroName, distroName) + injectEnvVarObjectFieldRefToPodContainer(&existingEnvNames, container, k8sconsts.OdigosEnvVarPodName, "metadata.name") + injectEnvVarToPodContainer(&existingEnvNames, container, k8sconsts.OdigosEnvVarNamespace, ns) +} + +func injectEnvVarObjectFieldRefToPodContainer(existingEnvNames *map[string]struct{}, container *corev1.Container, envVarName, envVarRef string) { + if _, exists := (*existingEnvNames)[envVarName]; exists { + return + } + + container.Env = append(container.Env, corev1.EnvVar{ + Name: envVarName, + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + FieldPath: envVarRef, + }, + }, + }) + + (*existingEnvNames)[envVarName] = struct{}{} +} + +func injectEnvVarToPodContainer(existingEnvNames *map[string]struct{}, container *corev1.Container, envVarName, envVarValue string) { + if _, exists := (*existingEnvNames)[envVarName]; exists { + return + } + + container.Env = append(container.Env, corev1.EnvVar{ + Name: envVarName, + Value: envVarValue, + }) + + (*existingEnvNames)[envVarName] = struct{}{} +} diff --git a/instrumentor/controllers/agentenabled/podswebhook/mount.go b/instrumentor/controllers/agentenabled/podswebhook/mount.go new file mode 100644 index 0000000000..011875f68f --- /dev/null +++ b/instrumentor/controllers/agentenabled/podswebhook/mount.go @@ -0,0 +1,33 @@ +package podswebhook + +import ( + "strings" + + "github.com/odigos-io/odigos/api/k8sconsts" + "github.com/odigos-io/odigos/distros/distro" + corev1 "k8s.io/api/core/v1" +) + +func MountDirectory(containerSpec *corev1.Container, dir string) { + // TODO: assuming the directory always starts with {{ODIGOS_AGENTS_DIR}}. This should be validated. + // Should we return errors here to validate static values? + relativePath := strings.TrimPrefix(dir, distro.AgentPlaceholderDirectory+"/") + absolutePath := strings.ReplaceAll(dir, distro.AgentPlaceholderDirectory, k8sconsts.OdigosAgentsDirectory) + containerSpec.VolumeMounts = append(containerSpec.VolumeMounts, corev1.VolumeMount{ + Name: k8sconsts.OdigosAgentMountVolumeName, + SubPath: relativePath, + MountPath: absolutePath, + ReadOnly: true, + }) +} + +func MountPodVolume(pod *corev1.Pod) { + pod.Spec.Volumes = append(pod.Spec.Volumes, corev1.Volume{ + Name: k8sconsts.OdigosAgentMountVolumeName, + VolumeSource: corev1.VolumeSource{ + HostPath: &corev1.HostPathVolumeSource{ + Path: k8sconsts.OdigosAgentsDirectory, + }, + }, + }) +} diff --git a/k8sutils/pkg/container/container.go b/k8sutils/pkg/container/container.go index 939e844430..3d176a2393 100644 --- a/k8sutils/pkg/container/container.go +++ b/k8sutils/pkg/container/container.go @@ -14,6 +14,34 @@ var ( ErrContainerNotInPodSpec = errors.New("container not found in pod spec") ) +func LanguageAndSdk(pod *v1.Pod, containerName string, distroName string) (common.ProgrammingLanguage, common.OtelSdk, error) { + if distroName != "" { + // TODO: so we can remove the device slowly while having backward compatibility, + // we map here the distroNames one by one. + // this is temporary, and should be refactored once device is removed + switch distroName { + case "golang-community": + return common.GoProgrammingLanguage, common.OtelSdkEbpfCommunity, nil + case "golang-enterprise": + return common.GoProgrammingLanguage, common.OtelSdkEbpfEnterprise, nil + case "java-enterprise": + return common.JavaProgrammingLanguage, common.OtelSdkNativeEnterprise, nil + case "java-ebpf-instrumentations": + return common.JavaProgrammingLanguage, common.OtelSdkEbpfEnterprise, nil + case "python-enterprise": + return common.PythonProgrammingLanguage, common.OtelSdkEbpfEnterprise, nil + case "nodejs-enterprise": + return common.JavascriptProgrammingLanguage, common.OtelSdkEbpfEnterprise, nil + case "mysql-enterprise": + return common.MySQLProgrammingLanguage, common.OtelSdkEbpfEnterprise, nil + } + } + + // TODO: this is fallback for migration from device (so that we can handle pods that have not been updated yet) + // remove this once device is removed + return LanguageSdkFromPodContainer(pod, containerName) +} + func LanguageSdkFromPodContainer(pod *v1.Pod, containerName string) (common.ProgrammingLanguage, common.OtelSdk, error) { for i := range pod.Spec.Containers { container := pod.Spec.Containers[i] diff --git a/odiglet/pkg/ebpf/distribution_matcher.go b/odiglet/pkg/ebpf/distribution_matcher.go index fdb345e73a..20bb947011 100644 --- a/odiglet/pkg/ebpf/distribution_matcher.go +++ b/odiglet/pkg/ebpf/distribution_matcher.go @@ -15,7 +15,7 @@ type podDeviceDistributionMatcher struct{} func (dm *podDeviceDistributionMatcher) Distribution(ctx context.Context, e K8sProcessDetails) (instrumentation.OtelDistribution, error) { // get the language and sdk for this process event // based on the pod spec and the container name from the process event - lang, sdk, err := odgiosK8s.LanguageSdkFromPodContainer(e.pod, e.containerName) + lang, sdk, err := odgiosK8s.LanguageAndSdk(e.pod, e.containerName, e.distroName) if err != nil { return instrumentation.OtelDistribution{}, fmt.Errorf("failed to get language and sdk: %w", err) } diff --git a/odiglet/pkg/ebpf/reporter.go b/odiglet/pkg/ebpf/reporter.go index 8392f803c1..08985489f7 100644 --- a/odiglet/pkg/ebpf/reporter.go +++ b/odiglet/pkg/ebpf/reporter.go @@ -20,6 +20,7 @@ import ( type K8sProcessDetails struct { pod *corev1.Pod containerName string + distroName string pw *k8sconsts.PodWorkload procEvent detector.ProcessEvent } diff --git a/odiglet/pkg/ebpf/resolvers.go b/odiglet/pkg/ebpf/resolvers.go index a324d764ce..6cdeaf40a8 100644 --- a/odiglet/pkg/ebpf/resolvers.go +++ b/odiglet/pkg/ebpf/resolvers.go @@ -27,6 +27,11 @@ func (dr *k8sDetailsResolver) Resolve(ctx context.Context, event detector.Proces return K8sProcessDetails{}, errContainerNameNotReported } + distroName, found := distroNameFromProcEvent(event) + if !found { + // TODO: this is ok for migration period. Once device is removed, this should be an error + } + podWorkload, err := workload.PodWorkloadObjectOrError(ctx, pod) if err != nil { return K8sProcessDetails{}, fmt.Errorf("failed to find workload object from pod manifest owners references: %w", err) @@ -35,6 +40,7 @@ func (dr *k8sDetailsResolver) Resolve(ctx context.Context, event detector.Proces return K8sProcessDetails{ pod: pod, containerName: containerName, + distroName: distroName, pw: podWorkload, procEvent: event, }, nil @@ -67,6 +73,11 @@ func containerNameFromProcEvent(event detector.ProcessEvent) (string, bool) { return containerName, ok } +func distroNameFromProcEvent(event detector.ProcessEvent) (string, bool) { + distronName, ok := event.ExecDetails.Environments[k8sconsts.OdigosEnvVarDistroName] + return distronName, ok +} + type k8sConfigGroupResolver struct{} func (cr *k8sConfigGroupResolver) Resolve(ctx context.Context, d K8sProcessDetails, dist instrumentation.OtelDistribution) (K8sConfigGroup, error) { diff --git a/tests/common/assert/simple-demo-instrumented.yaml b/tests/common/assert/simple-demo-instrumented.yaml index 7bdaffda6c..c7878190fb 100644 --- a/tests/common/assert/simple-demo-instrumented.yaml +++ b/tests/common/assert/simple-demo-instrumented.yaml @@ -110,11 +110,6 @@ spec: - "true" containers: - name: membership - resources: - limits: - instrumentation.odigos.io/go-ebpf-community: "1" - requests: - instrumentation.odigos.io/go-ebpf-community: "1" status: containerStatuses: - name: membership From 12e8942a071f29203ec20955a3d10dd18bf735af Mon Sep 17 00:00:00 2001 From: Ron Federman <73110295+RonFed@users.noreply.github.com> Date: Fri, 7 Feb 2025 15:32:58 +0200 Subject: [PATCH 12/16] fix: re-queue if failed to rollout (#2402) Co-authored-by: Amir Blum --- instrumentor/controllers/agentenabled/sync.go | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/instrumentor/controllers/agentenabled/sync.go b/instrumentor/controllers/agentenabled/sync.go index e3c844db4c..5eee3546ac 100644 --- a/instrumentor/controllers/agentenabled/sync.go +++ b/instrumentor/controllers/agentenabled/sync.go @@ -2,7 +2,6 @@ package agentenabled import ( "context" - "errors" "fmt" "github.com/hashicorp/go-version" @@ -40,22 +39,20 @@ type agentInjectedStatusCondition struct { } func reconcileAll(ctx context.Context, c client.Client) (ctrl.Result, error) { - allInstrumentationConfigs := odigosv1.InstrumentationConfigList{} listErr := c.List(ctx, &allInstrumentationConfigs) if listErr != nil { return ctrl.Result{}, listErr } - var err error for _, ic := range allInstrumentationConfigs.Items { - _, workloadErr := reconcileWorkload(ctx, c, ic.Name, ic.Namespace) - if workloadErr != nil { - err = errors.Join(err, workloadErr) + res, err := reconcileWorkload(ctx, c, ic.Name, ic.Namespace) + if err != nil || !res.IsZero() { + return res, err } } - return ctrl.Result{}, err + return ctrl.Result{}, nil } func reconcileWorkload(ctx context.Context, c client.Client, icName string, namespace string) (ctrl.Result, error) { From 3c5a428f9d6d490c57f8902536f4cef96f8fd02a Mon Sep 17 00:00:00 2001 From: Ben Elferink Date: Fri, 7 Feb 2025 17:05:58 +0200 Subject: [PATCH 13/16] Fix typos (#2403) Fixed 2 typos introduced in #2396 --- api/config/crd/bases/odigos.io_instrumentationrules.yaml | 5 ++--- api/odigos/v1alpha1/instrumentationrule_type.go | 2 +- api/odigos/v1alpha1/instrumentationrules/otel-sdk.go | 3 +-- docs/api-reference/odigos.io.v1alpha1.mdx | 2 +- .../templates/crds/odigos.io_instrumentationrules.yaml | 5 ++--- 5 files changed, 7 insertions(+), 10 deletions(-) diff --git a/api/config/crd/bases/odigos.io_instrumentationrules.yaml b/api/config/crd/bases/odigos.io_instrumentationrules.yaml index d835f060ad..b816b5d415 100644 --- a/api/config/crd/bases/odigos.io_instrumentationrules.yaml +++ b/api/config/crd/bases/odigos.io_instrumentationrules.yaml @@ -135,8 +135,7 @@ spec: description: |- Set a list of distribution names that take priority over the default distributions. if a language is not in this list, the default distribution will be used. - it multiple distributions are specified for the same language, in one or many rules, - the behavior is undefined. + if multiple distributions are specified for the same language, in one or many rules, the behavior is undefined. items: type: string type: array @@ -144,7 +143,7 @@ spec: - otelDistroNames type: object otelSdks: - description: 'Deprecated: use OrelDistros instead.' + description: 'Deprecated: use OtelDistros instead.' properties: otelSdkByLanguage: additionalProperties: diff --git a/api/odigos/v1alpha1/instrumentationrule_type.go b/api/odigos/v1alpha1/instrumentationrule_type.go index 83e195b051..cc4d7211bf 100644 --- a/api/odigos/v1alpha1/instrumentationrule_type.go +++ b/api/odigos/v1alpha1/instrumentationrule_type.go @@ -61,7 +61,7 @@ type InstrumentationRuleSpec struct { // Allows to configure payload collection aspects for different types of payloads. PayloadCollection *instrumentationrules.PayloadCollection `json:"payloadCollection,omitempty"` - // Deprecated: use OrelDistros instead. + // Deprecated: use OtelDistros instead. OtelSdks *instrumentationrules.OtelSdks `json:"otelSdks,omitempty"` // Set the otel distros to use instead of the defaults. diff --git a/api/odigos/v1alpha1/instrumentationrules/otel-sdk.go b/api/odigos/v1alpha1/instrumentationrules/otel-sdk.go index 5ed92b784a..90aa0c5206 100644 --- a/api/odigos/v1alpha1/instrumentationrules/otel-sdk.go +++ b/api/odigos/v1alpha1/instrumentationrules/otel-sdk.go @@ -15,7 +15,6 @@ type OtelDistros struct { // Set a list of distribution names that take priority over the default distributions. // if a language is not in this list, the default distribution will be used. - // it multiple distributions are specified for the same language, in one or many rules, - // the behavior is undefined. + // if multiple distributions are specified for the same language, in one or many rules, the behavior is undefined. OtelDistroNames []string `json:"otelDistroNames"` } diff --git a/docs/api-reference/odigos.io.v1alpha1.mdx b/docs/api-reference/odigos.io.v1alpha1.mdx index f859666751..684c59aa37 100644 --- a/docs/api-reference/odigos.io.v1alpha1.mdx +++ b/docs/api-reference/odigos.io.v1alpha1.mdx @@ -1869,7 +1869,7 @@ If empty, no instrumentation libraries will be used.

instrumentationrules.OtelSdks -

Deprecated: use OrelDistros instead.

+

Deprecated: use OtelDistros instead.

diff --git a/helm/odigos/templates/crds/odigos.io_instrumentationrules.yaml b/helm/odigos/templates/crds/odigos.io_instrumentationrules.yaml index d835f060ad..b816b5d415 100644 --- a/helm/odigos/templates/crds/odigos.io_instrumentationrules.yaml +++ b/helm/odigos/templates/crds/odigos.io_instrumentationrules.yaml @@ -135,8 +135,7 @@ spec: description: |- Set a list of distribution names that take priority over the default distributions. if a language is not in this list, the default distribution will be used. - it multiple distributions are specified for the same language, in one or many rules, - the behavior is undefined. + if multiple distributions are specified for the same language, in one or many rules, the behavior is undefined. items: type: string type: array @@ -144,7 +143,7 @@ spec: - otelDistroNames type: object otelSdks: - description: 'Deprecated: use OrelDistros instead.' + description: 'Deprecated: use OtelDistros instead.' properties: otelSdkByLanguage: additionalProperties: From 5c4afe1b0c8690dfae624aadaf761148bb26cabe Mon Sep 17 00:00:00 2001 From: Ron Federman <73110295+RonFed@users.noreply.github.com> Date: Fri, 7 Feb 2025 21:59:45 +0200 Subject: [PATCH 14/16] fix: use retry watchers is UI (#2404) Co-authored-by: Ben Elferink --- frontend/kube/watchers/destination_watcher.go | 10 +++++-- .../instrumentation_config_watcher.go | 10 +++++-- .../instrumentation_instance_watcher.go | 10 +++++-- .../services/collector_metrics/watchers.go | 27 ++++++++++++++----- 4 files changed, 44 insertions(+), 13 deletions(-) diff --git a/frontend/kube/watchers/destination_watcher.go b/frontend/kube/watchers/destination_watcher.go index bf42da35e0..b43f17ed32 100644 --- a/frontend/kube/watchers/destination_watcher.go +++ b/frontend/kube/watchers/destination_watcher.go @@ -3,6 +3,7 @@ package watchers import ( "context" "fmt" + "log" "time" "github.com/odigos-io/odigos/api/odigos/v1alpha1" @@ -11,6 +12,8 @@ import ( "github.com/odigos-io/odigos/frontend/services/sse" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" + toolsWatch "k8s.io/client-go/tools/watch" ) var destinationAddedEventBatcher *EventBatcher @@ -63,9 +66,11 @@ func StartDestinationWatcher(ctx context.Context, namespace string) error { }, ) - watcher, err := kube.DefaultClient.OdigosClient.Destinations(namespace).Watch(context.Background(), metav1.ListOptions{}) + watcher, err := toolsWatch.NewRetryWatcher("1", &cache.ListWatch{WatchFunc: func(_ metav1.ListOptions) (watch.Interface, error) { + return kube.DefaultClient.OdigosClient.Destinations(namespace).Watch(ctx, metav1.ListOptions{}) + }}) if err != nil { - return fmt.Errorf("error creating watcher: %v", err) + return fmt.Errorf("error creating destinations watcher: %v", err) } go handleDestinationWatchEvents(ctx, watcher) @@ -84,6 +89,7 @@ func handleDestinationWatchEvents(ctx context.Context, watcher watch.Interface) return case event, ok := <-ch: if !ok { + log.Println("Destination watcher closed") return } switch event.Type { diff --git a/frontend/kube/watchers/instrumentation_config_watcher.go b/frontend/kube/watchers/instrumentation_config_watcher.go index 9cae42c92f..19c73df8bb 100644 --- a/frontend/kube/watchers/instrumentation_config_watcher.go +++ b/frontend/kube/watchers/instrumentation_config_watcher.go @@ -3,6 +3,7 @@ package watchers import ( "context" "fmt" + "log" "time" "github.com/odigos-io/odigos/api/odigos/v1alpha1" @@ -12,6 +13,8 @@ import ( commonutils "github.com/odigos-io/odigos/k8sutils/pkg/workload" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" + toolsWatch "k8s.io/client-go/tools/watch" ) var instrumentationConfigAddedEventBatcher *EventBatcher @@ -64,9 +67,11 @@ func StartInstrumentationConfigWatcher(ctx context.Context, namespace string) er }, ) - watcher, err := kube.DefaultClient.OdigosClient.InstrumentationConfigs(namespace).Watch(context.Background(), metav1.ListOptions{}) + watcher, err := toolsWatch.NewRetryWatcher("1", &cache.ListWatch{WatchFunc: func(_ metav1.ListOptions) (watch.Interface, error) { + return kube.DefaultClient.OdigosClient.InstrumentationConfigs(namespace).Watch(ctx, metav1.ListOptions{}) + }}) if err != nil { - return fmt.Errorf("error creating watcher: %w", err) + return fmt.Errorf("failed to create instrumentation config watcher: %w", err) } go handleInstrumentationConfigWatchEvents(ctx, watcher) @@ -85,6 +90,7 @@ func handleInstrumentationConfigWatchEvents(ctx context.Context, watcher watch.I return case event, ok := <-ch: if !ok { + log.Println("InstrumentationConfig watcher closed") return } switch event.Type { diff --git a/frontend/kube/watchers/instrumentation_instance_watcher.go b/frontend/kube/watchers/instrumentation_instance_watcher.go index f3e8e2d549..d8ec4bdcbe 100644 --- a/frontend/kube/watchers/instrumentation_instance_watcher.go +++ b/frontend/kube/watchers/instrumentation_instance_watcher.go @@ -3,6 +3,7 @@ package watchers import ( "context" "fmt" + "log" "time" "github.com/odigos-io/odigos/api/odigos/v1alpha1" @@ -12,6 +13,8 @@ import ( commonutils "github.com/odigos-io/odigos/k8sutils/pkg/workload" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" + toolsWatch "k8s.io/client-go/tools/watch" ) var instrumentationInstanceModifiedEventBatcher *EventBatcher @@ -30,9 +33,11 @@ func StartInstrumentationInstanceWatcher(ctx context.Context, namespace string) }, ) - watcher, err := kube.DefaultClient.OdigosClient.InstrumentationInstances(namespace).Watch(context.Background(), metav1.ListOptions{}) + watcher, err := toolsWatch.NewRetryWatcher("1", &cache.ListWatch{WatchFunc: func(_ metav1.ListOptions) (watch.Interface, error) { + return kube.DefaultClient.OdigosClient.InstrumentationInstances(namespace).Watch(ctx, metav1.ListOptions{}) + }}) if err != nil { - return fmt.Errorf("error creating watcher: %v", err) + return fmt.Errorf("failed to create instrumentation instance watcher: %w", err) } go handleInstrumentationInstanceWatchEvents(ctx, watcher) @@ -49,6 +54,7 @@ func handleInstrumentationInstanceWatchEvents(ctx context.Context, watcher watch return case event, ok := <-ch: if !ok { + log.Println("InstrumentationInstance watcher closed") return } switch event.Type { diff --git a/frontend/services/collector_metrics/watchers.go b/frontend/services/collector_metrics/watchers.go index 0ad1223821..bce7167e93 100644 --- a/frontend/services/collector_metrics/watchers.go +++ b/frontend/services/collector_metrics/watchers.go @@ -5,14 +5,16 @@ import ( "errors" "fmt" + "github.com/odigos-io/odigos/api/k8sconsts" "github.com/odigos-io/odigos/api/odigos/v1alpha1" "github.com/odigos-io/odigos/frontend/kube" "github.com/odigos-io/odigos/frontend/services/common" - "github.com/odigos-io/odigos/api/k8sconsts" commonutils "github.com/odigos-io/odigos/k8sutils/pkg/workload" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" + toolsWatch "k8s.io/client-go/tools/watch" ) type notification struct { @@ -43,27 +45,38 @@ type watchers struct { } func runWatcher(ctx context.Context, cw *deleteWatcher) error { - nodeWatcher, err := newCollectorWatcher(ctx, cw.odigosNS, k8sconsts.CollectorsRoleNodeCollector) + nodeCollectorWatcher, err := toolsWatch.NewRetryWatcher("1", &cache.ListWatch{WatchFunc: func(_ metav1.ListOptions) (watch.Interface, error) { + return newCollectorWatcher(ctx, cw.odigosNS, k8sconsts.CollectorsRoleNodeCollector) + }}) if err != nil { return err } - clusterWatcher, err := newCollectorWatcher(ctx, cw.odigosNS, k8sconsts.CollectorsRoleClusterGateway) + + clusterCollectorWatcher, err := toolsWatch.NewRetryWatcher("1", &cache.ListWatch{WatchFunc: func(_ metav1.ListOptions) (watch.Interface, error) { + return newCollectorWatcher(ctx, cw.odigosNS, k8sconsts.CollectorsRoleClusterGateway) + }}) if err != nil { return err } - destsWatcher, err := kube.DefaultClient.OdigosClient.Destinations(cw.odigosNS).Watch(ctx, metav1.ListOptions{}) + + sourcesWatcher, err := toolsWatch.NewRetryWatcher("1", &cache.ListWatch{WatchFunc: func(_ metav1.ListOptions) (watch.Interface, error) { + return kube.DefaultClient.OdigosClient.InstrumentationConfigs("").Watch(ctx, metav1.ListOptions{}) + }}) if err != nil { return err } - sourcesWatcher, err := kube.DefaultClient.OdigosClient.InstrumentationConfigs("").Watch(ctx, metav1.ListOptions{}) + + destsWatcher, err := toolsWatch.NewRetryWatcher("1", &cache.ListWatch{WatchFunc: func(_ metav1.ListOptions) (watch.Interface, error) { + return kube.DefaultClient.OdigosClient.Destinations(cw.odigosNS).Watch(ctx, metav1.ListOptions{}) + }}) if err != nil { return err } return runWatcherLoop(ctx, watchers{ - nodeCollectors: nodeWatcher, - clusterCollectors: clusterWatcher, + nodeCollectors: nodeCollectorWatcher, + clusterCollectors: clusterCollectorWatcher, destinations: destsWatcher, sources: sourcesWatcher, }, cw.deleteNotifications) From 5cee79831e3864719ba0914ac3e9f395128c244d Mon Sep 17 00:00:00 2001 From: Amir Blum Date: Sat, 8 Feb 2025 11:17:21 +0200 Subject: [PATCH 15/16] chore: add make target for e2e tests grafana (#2410) Just to make troubleshooting easier when running the tests locally. --- Makefile | 22 ++++++++++++++++++++++ tests/e2e/README.md | 25 ++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f15a7ad590..82c5de83ec 100644 --- a/Makefile +++ b/Makefile @@ -337,6 +337,28 @@ dev-tests-setup: dev-tests-kind-cluster cli-build build-images load-to-kind dev-tests-setup-no-build: TAG := e2e-test dev-tests-setup-no-build: dev-tests-kind-cluster load-to-kind +# When you run an e2e test locally, and want a grafana instance to troubleshoot the results +# run this target to start grafana, then run dev-tests-grafana-port-forward to access it. +.PHONY: dev-tests-grafana +dev-tests-grafana: + @echo "Starting Grafana for troubleshooting e2e tests" + helm install -n traces grafana grafana/grafana \ + --set "env.GF_AUTH_ANONYMOUS_ENABLED=true" \ + --set "env.GF_AUTH_ANONYMOUS_ORG_ROLE=Admin" \ + --set "datasources.datasources\.yaml.apiVersion=1" \ + --set "datasources.datasources\.yaml.datasources[0].name=Tempo" \ + --set "datasources.datasources\.yaml.datasources[0].type=tempo" \ + --set "datasources.datasources\.yaml.datasources[0].url=http://e2e-tests-tempo:3100" \ + --set "datasources.datasources\.yaml.datasources[0].access=proxy" \ + --set "datasources.datasources\.yaml.datasources[0].isDefault=true" + +# For e2e local tests, run this target to port forward the Grafana instance to your local browser +.PHONY: dev-tests-grafana-port-forward +dev-tests-grafana-port-forward: + @echo "Port forwarding Grafana for troubleshooting e2e tests" + @echo "Visit http://localhost:3080/explore to access Grafana" + kubectl port-forward -n traces svc/grafana 3080:80 + # Use this for debug to add a destination which only prints samples of telemetry items to the cluster gateway collector logs .PHONY: dev-debug-destination dev-debug-destination: diff --git a/tests/e2e/README.md b/tests/e2e/README.md index 1d434da94f..45177836e1 100644 --- a/tests/e2e/README.md +++ b/tests/e2e/README.md @@ -130,7 +130,24 @@ tests/e2e/common/traceql_runner.sh When tests fail, and it's related to some traceql query not succeeding, it can be useful to setup a grafana ui to commit queries and see the traces that are stored in tempo. -- Install grafana with helm: +### TL;DR + +```bash +make dev-tests-grafana +make dev-tests-grafana-port-forward +``` + +Then browse to `http://localhost:3080/explore`. + +### Detailed Steps + +- Install grafana with helm once: + +```bash +make dev-tests-grafana +``` + +or manually: ```bash helm install -n traces grafana grafana/grafana \ @@ -146,6 +163,12 @@ helm install -n traces grafana grafana/grafana \ - Port forward to the grafana service: +```bash +make dev-tests-grafana-port-forward +``` + +or manually: + ```bash kubectl port-forward svc/grafana 3080:80 -n traces ``` From fb4fa7f540ec873f179bda487725a6bb8831765b Mon Sep 17 00:00:00 2001 From: Ron Federman <73110295+RonFed@users.noreply.github.com> Date: Sat, 8 Feb 2025 12:24:59 +0200 Subject: [PATCH 16/16] fix: requeue if failed to trigger an un-instrument rollout (#2406) --- .../agentenabled/rollout/rollout.go | 6 +- tests/e2e/source/chainsaw-test.yaml | 82 ++++--------------- tests/e2e/source/wait_for_rollout.sh | 19 +++++ 3 files changed, 37 insertions(+), 70 deletions(-) create mode 100755 tests/e2e/source/wait_for_rollout.sh diff --git a/instrumentor/controllers/agentenabled/rollout/rollout.go b/instrumentor/controllers/agentenabled/rollout/rollout.go index 0eb3d6a565..b2dc29044b 100644 --- a/instrumentor/controllers/agentenabled/rollout/rollout.go +++ b/instrumentor/controllers/agentenabled/rollout/rollout.go @@ -42,11 +42,9 @@ func Do(ctx context.Context, c client.Client, ic *odigosv1alpha1.Instrumentation if ic == nil { // instrumentation config is deleted, trigger a rollout for the associated workload // this should happen once per workload, as the instrumentation config is deleted + // and we want to rollout the workload to remove the instrumentation rolloutErr := rolloutRestartWorkload(ctx, workloadObj, c, time.Now()) - if rolloutErr != nil { - logger.Error(rolloutErr, "error rolling out workload", "name", pw.Name, "namespace", pw.Namespace) - } - return ctrl.Result{}, nil + return ctrl.Result{}, client.IgnoreNotFound(rolloutErr) } savedRolloutHash := ic.Status.WorkloadRolloutHash diff --git a/tests/e2e/source/chainsaw-test.yaml b/tests/e2e/source/chainsaw-test.yaml index dedfbc7b27..f130cb956c 100644 --- a/tests/e2e/source/chainsaw-test.yaml +++ b/tests/e2e/source/chainsaw-test.yaml @@ -94,12 +94,7 @@ spec: file: 01-workloads.yaml - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Generate Traffic try: - script: @@ -181,12 +176,7 @@ spec: try: - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Instrument Namespace try: - apply: @@ -205,12 +195,7 @@ spec: file: ../../common/assert/simple-demo-instrumented.yaml - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Generate Traffic try: - script: @@ -290,12 +275,7 @@ spec: file: 04-workloads.yaml - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Instrument frontend workload specifically try: - apply: @@ -312,16 +292,16 @@ spec: try: - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Instrument rest of Namespace try: - apply: file: ../../common/apply/instrument-default-ns.yaml + - name: Wait for workloads to roll out new revisions + try: + - script: + timeout: 70s + content: ./wait_for_rollout.sh - name: Assert Runtime Detected for all workloads try: - assert: @@ -347,12 +327,7 @@ spec: try: - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Assert Runtime still Detected for single workload try: - assert: @@ -373,12 +348,7 @@ spec: try: - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Assert runtime detected for all workloads except excluded (coupon) try: - assert: @@ -403,12 +373,7 @@ spec: try: - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Assert runtime detected for no-longer-excluded workload try: - assert: @@ -425,12 +390,7 @@ spec: try: - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Assert runtime detected for all workloads except newly excluded (membership) try: - assert: @@ -454,12 +414,7 @@ spec: try: - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Assert runtime detected for no-longer-excluded workload try: - assert: @@ -477,12 +432,7 @@ spec: try: - script: timeout: 70s - content: | - kubectl rollout status deployment -l app=coupon - kubectl rollout status deployment -l app=frontend - kubectl rollout status deployment -l app=inventory - kubectl rollout status deployment -l app=pricing - kubectl rollout status deployment -l app=membership + content: ./wait_for_rollout.sh - name: Assert runtime not detected for re-excluded (membership) try: - script: diff --git a/tests/e2e/source/wait_for_rollout.sh b/tests/e2e/source/wait_for_rollout.sh new file mode 100755 index 0000000000..1fa09fd566 --- /dev/null +++ b/tests/e2e/source/wait_for_rollout.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# some of the rollouts during the test are triggered by patching an annotation on the workload. +# the annotation value is a timestamp. This timestamp has a resolution of seconds, so we need to wait +# at least 1 second before we can be sure that the rollout has been triggered. +# +# The controller itself could check this timestamp and wait for the next second to trigger the rollout, +# however for now we decided to not implement it as it seems extremely unlikely that this would happen in a real-world scenario. +# +# this is also consistent with the behavior of `kubectl rollout restart deployment ...` which also has a resolution of seconds. +# trying to do a few consecutive `kubectl rollout restart deployment ...` may result in an error such as +# "if restart has already been triggered within the past second, please wait before attempting to trigger another" +sleep 1 + +kubectl rollout status deployment -l app=coupon +kubectl rollout status deployment -l app=frontend +kubectl rollout status deployment -l app=inventory +kubectl rollout status deployment -l app=pricing +kubectl rollout status deployment -l app=membership \ No newline at end of file