opentelemetrytracer: Added support to configure a Dynatrace sampler (#32598)

Signed-off-by: Thomas Ebner <96168670+samohte@users.noreply.github.com>
Signed-off-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com>
Signed-off-by: thomas.ebner <thomas.ebner@dynatrace.com>

Mirrored from https://github.com/envoyproxy/envoy @ 97ef386aeb4d12a3fd38f151c38be7decc5c37bf
main
update-envoy[bot] 9 months ago
parent 50bd4bfd84
commit 04738e60da
  1. 5
      envoy/extensions/tracers/opentelemetry/samplers/v3/BUILD
  2. 53
      envoy/extensions/tracers/opentelemetry/samplers/v3/dynatrace_sampler.proto

@ -5,5 +5,8 @@ load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package")
licenses(["notice"]) # Apache 2
api_proto_package(
deps = ["@com_github_cncf_xds//udpa/annotations:pkg"],
deps = [
"//envoy/config/core/v3:pkg",
"@com_github_cncf_xds//udpa/annotations:pkg",
],
)

@ -0,0 +1,53 @@
syntax = "proto3";
package envoy.extensions.tracers.opentelemetry.samplers.v3;
import "envoy/config/core/v3/http_uri.proto";
import "udpa/annotations/status.proto";
option java_package = "io.envoyproxy.envoy.extensions.tracers.opentelemetry.samplers.v3";
option java_outer_classname = "DynatraceSamplerProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/tracers/opentelemetry/samplers/v3;samplersv3";
option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#protodoc-title: Dynatrace Sampler config]
// Configuration for the Dynatrace Sampler extension.
// [#extension: envoy.tracers.opentelemetry.samplers.dynatrace]
// [#next-free-field: 6]
message DynatraceSamplerConfig {
// The Dynatrace tenant.
//
// The value can be obtained from the Envoy deployment page in Dynatrace.
string tenant = 1;
// The id of the Dynatrace cluster id.
//
// The value can be obtained from the Envoy deployment page in Dynatrace.
int32 cluster_id = 2;
// The HTTP URI to fetch the sampler configuration (root spans per minute). For example:
//
// .. code-block:: yaml
//
// http_uri:
// uri: <tenant>.dev.dynatracelabs.com/api/v2/otlp/v1/traces
// cluster: dynatrace
// timeout: 10s
//
config.core.v3.HttpUri http_uri = 3;
// The access token to fetch the sampling configuration from the Dynatrace API
string token = 4;
// Default number of root spans per minute, used when the value can't be obtained from the Dynatrace API.
//
// A default value of ``1000`` is used when:
//
// - ``root_spans_per_minute`` is unset
// - ``root_spans_per_minute`` is set to 0
//
uint32 root_spans_per_minute = 5;
}
Loading…
Cancel
Save