Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4fdab72
Update opentelemetry-operations-collector submodule to v0.147.0
rafaelwestphal Mar 9, 2026
2991ff7
Bump Go versions in CI config and integration tests to 1.25
rafaelwestphal Mar 9, 2026
a46a1e0
Bump Go version in Docker templates to 1.25.0
rafaelwestphal Mar 9, 2026
c8e7cac
Revert Go version bump in integration tests
rafaelwestphal Mar 9, 2026
64d1362
Merge branch 'master' into update-otelopscol-version
rafaelwestphal Mar 9, 2026
13fedd5
[confgenerator ] Set `block_on_overflow` and exporter batching in Ote…
franciscovalentecastro Mar 9, 2026
8e75584
Merge branch 'master' into update-otelopscol-version
rafaelwestphal Mar 10, 2026
f2787a6
Merge branch 'master' into update-otelopscol-version
rafaelwestphal Mar 10, 2026
9e3b36f
Fix transformation tests stacktrace golden file shift by forcing GOTO…
rafaelwestphal Mar 11, 2026
a23490a
Refactor setting GOTOOLCHAIN=local via templates
rafaelwestphal Mar 11, 2026
24a980c
Remove redundant GOTOOLCHAIN=local from pr_presubmit.yaml
rafaelwestphal Mar 11, 2026
e1a3503
Cleanup trailing blank lines in pr_presubmit.yaml
rafaelwestphal Mar 11, 2026
fb32cf6
Merge branch 'master' into update-otelopscol-version
rafaelwestphal Mar 11, 2026
8f04920
Update self-metric change
rafaelwestphal Mar 12, 2026
4e74d03
Fixing golde
rafaelwestphal Mar 12, 2026
75006ce
Removing troolchain hack
rafaelwestphal Mar 12, 2026
ccefe8a
Removing rogue new line
rafaelwestphal Mar 12, 2026
333c429
Fixing status code values
rafaelwestphal Mar 12, 2026
2c378ef
Fix lint
rafaelwestphal Mar 12, 2026
feffed7
Merge branch 'master' into update-otelopscol-version
rafaelwestphal Mar 12, 2026
0da4745
Fixing golden value
rafaelwestphal Mar 12, 2026
2da1c82
Fix golden
rafaelwestphal Mar 13, 2026
e828c87
Merge branch 'master' into update-otelopscol-version
rafaelwestphal Mar 13, 2026
6126d85
Using submodulo to test fix
rafaelwestphal Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pr_presubmit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:

- uses: actions/setup-go@v3
with:
go-version: 1.24.x
go-version: 1.25.x
cache: true

- id: files
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ ARG CMAKE_VERSION=3.25.2
ARG OPENJDK_MAJOR_VERSION=17
ARG OPENJDK_FULL_VERSION=17.0.8
ARG OPENJDK_VERSION_SUFFIX=7
ARG GO_VERSION=1.24.3
ARG GO_VERSION=1.25.0

# Manually prepare a recent enough version of CMake.
# This should be used on platforms where the default package manager
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile.windows
Original file line number Diff line number Diff line change
Expand Up @@ -174,10 +174,10 @@ RUN Copy-Item -Path C:\Windows\System32\msvcp140.dll -Destination /work/out/bin/
#
# Install Golang
#
ADD https://go.dev/dl/go1.24.11.windows-amd64.msi /local/go1.24.11.windows-amd64.msi
ADD https://go.dev/dl/go1.25.0.windows-amd64.msi /local/go1.25.0.windows-amd64.msi

RUN Start-Process msiexec.exe `
-ArgumentList '/i C:\local\go1.24.11.windows-amd64.msi ', '/quiet ', `
-ArgumentList '/i C:\local\go1.25.0.windows-amd64.msi ', '/quiet ', `
'/norestart ', 'ALLUSERS=1,INSTALLDIR=C:\Go' -NoNewWindow -Wait;

#
Expand Down
49 changes: 24 additions & 25 deletions confgenerator/agentmetrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,25 +57,24 @@ var grpcToHTTPStatus = map[string]string{
"DEADLINE_EXCEEDED": "504",
}

// Following reference : https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
var grpcToStringStatus = map[string]string{
"0": "OK",
"1": "CANCELLED",
"2": "UNKNOWN",
"3": "INVALID_ARGUMENT",
"4": "DEADLINE_EXCEEDED",
"5": "NOT_FOUND",
"6": "ALREADY_EXISTS",
"7": "PERMISSION_DENIED",
"8": "RESOURCE_EXHAUSTED",
"9": "FAILED_PRECONDITION",
"10": "ABORTED",
"11": "OUT_OF_RANGE",
"12": "UNIMPLEMENTED",
"13": "INTERNAL",
"14": "UNAVAILABLE",
"15": "DATA_LOSS",
"16": "UNAUTHENTICATED",
var grpcCamelToSnake = map[string]string{
"OK": "OK",
"Canceled": "CANCELLED",
"Unknown": "UNKNOWN",
"InvalidArgument": "INVALID_ARGUMENT",
"DeadlineExceeded": "DEADLINE_EXCEEDED",
"NotFound": "NOT_FOUND",
"AlreadyExists": "ALREADY_EXISTS",
"PermissionDenied": "PERMISSION_DENIED",
"ResourceExhausted": "RESOURCE_EXHAUSTED",
"FailedPrecondition": "FAILED_PRECONDITION",
"Aborted": "ABORTED",
"OutOfRange": "OUT_OF_RANGE",
"Unimplemented": "UNIMPLEMENTED",
"Internal": "INTERNAL",
"Unavailable": "UNAVAILABLE",
"DataLoss": "DATA_LOSS",
"Unauthenticated": "UNAUTHENTICATED",
}

func (r AgentSelfMetrics) AddSelfMetricsPipelines(receiverPipelines map[string]otel.ReceiverPipeline, pipelines map[string]otel.Pipeline, ctx context.Context) {
Expand Down Expand Up @@ -178,11 +177,11 @@ func (r AgentSelfMetrics) OtelPipelineProcessors(ctx context.Context) []otel.Com
expOtlpExporter := experimentsFromContext(ctx)["otlp_exporter"]
var extraTransforms []map[string]interface{}
if expOtlpExporter {
durationMetric = "rpc.client.duration"
durationMetric = "rpc.client.call.duration"
filteredMetrics = []string{
"otelcol_exporter_sent_metric_points",
"otelcol_exporter_send_failed_metric_points",
"rpc.client.duration_count",
"rpc.client.call.duration_count",
}
extraTransforms = []map[string]interface{}{
otel.UpdateMetric("otelcol_exporter_sent_metric_points",
Expand All @@ -197,15 +196,15 @@ func (r AgentSelfMetrics) OtelPipelineProcessors(ctx context.Context) []otel.Com
// b/468059325: Factor in partial success after upstream bug is fixed.
pointCountMetric = otel.CombineMetrics("otelcol_exporter_sent_metric_points|otelcol_exporter_send_failed_metric_points", "agent/monitoring/point_count",
otel.AggregateLabels("sum", "status"))
apiRequestCount = otel.RenameMetric("rpc.client.duration_count", "agent/api_request_count",
otel.RenameLabelValues("rpc.grpc.status_code", grpcToStringStatus),
otel.RenameLabel("rpc.grpc.status_code", "state"),
apiRequestCount = otel.RenameMetric("rpc.client.call.duration_count", "agent/api_request_count",
otel.RenameLabelValues("rpc.response.status_code", grpcCamelToSnake),
otel.RenameLabel("rpc.response.status_code", "state"),
// delete all other labels, retaining only state
otel.AggregateLabels("sum", "state"))

metricFilter = otel.MetricsOTTLFilter([]string{}, []string{
// Filter out histogram datapoints where the rpc.service is not related to monitoring.
`metric.name == "rpc.client.duration_count" and (not IsMatch(datapoint.attributes["rpc.service"], "opentelemetry.proto.collector.metrics.v1.MetricsService"))`,
`metric.name == "rpc.client.call.duration_count" and (not IsMatch(datapoint.attributes["rpc.method"], "opentelemetry.proto.collector.metrics.v1.MetricsService/Export"))`,
})
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ processors:
filter/otel_1:
metrics:
datapoint:
- metric.name == "rpc.client.duration_count" and (not IsMatch(datapoint.attributes["rpc.service"], "opentelemetry.proto.collector.metrics.v1.MetricsService"))
- metric.name == "rpc.client.call.duration_count" and (not IsMatch(datapoint.attributes["rpc.method"], "opentelemetry.proto.collector.metrics.v1.MetricsService/Export"))
filter/otel_2:
metrics:
include:
Expand All @@ -96,7 +96,7 @@ processors:
- otelcol_process_memory_rss
- otelcol_exporter_sent_metric_points
- otelcol_exporter_send_failed_metric_points
- rpc.client.duration_count
- rpc.client.call.duration_count
groupbyattrs/otlp_2:
keys:
- namespace
Expand Down Expand Up @@ -582,48 +582,48 @@ processors:
aggregation_type: sum
label_set: []
- action: update
include: rpc.client.duration_count
include: rpc.client.call.duration_count
new_name: agent/api_request_count
operations:
- action: update_label
label: rpc.grpc.status_code
label: rpc.response.status_code
value_actions:
- new_value: OK
value: "0"
- new_value: CANCELLED
value: "1"
- new_value: ABORTED
value: "10"
- new_value: OUT_OF_RANGE
value: "11"
- new_value: UNIMPLEMENTED
value: "12"
- new_value: INTERNAL
value: "13"
- new_value: UNAVAILABLE
value: "14"
value: Aborted
- new_value: ALREADY_EXISTS
value: AlreadyExists
- new_value: CANCELLED
value: Canceled
- new_value: DATA_LOSS
value: "15"
- new_value: UNAUTHENTICATED
value: "16"
- new_value: UNKNOWN
value: "2"
- new_value: INVALID_ARGUMENT
value: "3"
value: DataLoss
- new_value: DEADLINE_EXCEEDED
value: "4"
value: DeadlineExceeded
- new_value: FAILED_PRECONDITION
value: FailedPrecondition
- new_value: INTERNAL
value: Internal
- new_value: INVALID_ARGUMENT
value: InvalidArgument
- new_value: NOT_FOUND
value: "5"
- new_value: ALREADY_EXISTS
value: "6"
value: NotFound
- new_value: OK
value: OK
- new_value: OUT_OF_RANGE
value: OutOfRange
- new_value: PERMISSION_DENIED
value: "7"
value: PermissionDenied
- new_value: RESOURCE_EXHAUSTED
value: "8"
- new_value: FAILED_PRECONDITION
value: "9"
value: ResourceExhausted
- new_value: UNAUTHENTICATED
value: Unauthenticated
- new_value: UNAVAILABLE
value: Unavailable
- new_value: UNIMPLEMENTED
value: Unimplemented
- new_value: UNKNOWN
value: Unknown
- action: update_label
label: rpc.grpc.status_code
label: rpc.response.status_code
new_label: state
- action: aggregate_labels
aggregation_type: sum
Expand Down Expand Up @@ -803,7 +803,7 @@ processors:
metric_statements:
- context: metric
statements:
- extract_count_metric(true) where name == "rpc.client.duration"
- extract_count_metric(true) where name == "rpc.client.call.duration"
transform/otlp_0:
error_mode: ignore
log_statements:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ processors:
filter/otel_1:
metrics:
datapoint:
- metric.name == "rpc.client.duration_count" and (not IsMatch(datapoint.attributes["rpc.service"], "opentelemetry.proto.collector.metrics.v1.MetricsService"))
- metric.name == "rpc.client.call.duration_count" and (not IsMatch(datapoint.attributes["rpc.method"], "opentelemetry.proto.collector.metrics.v1.MetricsService/Export"))
filter/otel_2:
metrics:
include:
Expand All @@ -91,7 +91,7 @@ processors:
- otelcol_process_memory_rss
- otelcol_exporter_sent_metric_points
- otelcol_exporter_send_failed_metric_points
- rpc.client.duration_count
- rpc.client.call.duration_count
groupbyattrs/otlp_2:
keys:
- namespace
Expand Down Expand Up @@ -553,48 +553,48 @@ processors:
aggregation_type: sum
label_set: []
- action: update
include: rpc.client.duration_count
include: rpc.client.call.duration_count
new_name: agent/api_request_count
operations:
- action: update_label
label: rpc.grpc.status_code
label: rpc.response.status_code
value_actions:
- new_value: OK
value: "0"
- new_value: CANCELLED
value: "1"
- new_value: ABORTED
value: "10"
- new_value: OUT_OF_RANGE
value: "11"
- new_value: UNIMPLEMENTED
value: "12"
- new_value: INTERNAL
value: "13"
- new_value: UNAVAILABLE
value: "14"
value: Aborted
- new_value: ALREADY_EXISTS
value: AlreadyExists
- new_value: CANCELLED
value: Canceled
- new_value: DATA_LOSS
value: "15"
- new_value: UNAUTHENTICATED
value: "16"
- new_value: UNKNOWN
value: "2"
- new_value: INVALID_ARGUMENT
value: "3"
value: DataLoss
- new_value: DEADLINE_EXCEEDED
value: "4"
value: DeadlineExceeded
- new_value: FAILED_PRECONDITION
value: FailedPrecondition
- new_value: INTERNAL
value: Internal
- new_value: INVALID_ARGUMENT
value: InvalidArgument
- new_value: NOT_FOUND
value: "5"
- new_value: ALREADY_EXISTS
value: "6"
value: NotFound
- new_value: OK
value: OK
- new_value: OUT_OF_RANGE
value: OutOfRange
- new_value: PERMISSION_DENIED
value: "7"
value: PermissionDenied
- new_value: RESOURCE_EXHAUSTED
value: "8"
- new_value: FAILED_PRECONDITION
value: "9"
value: ResourceExhausted
- new_value: UNAUTHENTICATED
value: Unauthenticated
- new_value: UNAVAILABLE
value: Unavailable
- new_value: UNIMPLEMENTED
value: Unimplemented
- new_value: UNKNOWN
value: Unknown
- action: update_label
label: rpc.grpc.status_code
label: rpc.response.status_code
new_label: state
- action: aggregate_labels
aggregation_type: sum
Expand Down Expand Up @@ -759,7 +759,7 @@ processors:
metric_statements:
- context: metric
statements:
- extract_count_metric(true) where name == "rpc.client.duration"
- extract_count_metric(true) where name == "rpc.client.call.duration"
transform/otlp_0:
error_mode: ignore
log_statements:
Expand Down
Loading
Loading