Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 4 additions & 2 deletions otel-ecs-ec2/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Changelog

### v0.0.37 / 2026-07-01
### v0.0.38 / 2026-07-03

- [Feat] Enable profiles to be sent through the node-local agent `profilesCollection` pipeline for enrichment and Coralogix export. This agent can be used by applications in the same node to export their profiles. The eBPF profiler agent will still send profiles directly to the Coralogix backend.

- [Change] Update Helm dependency `opentelemetry-agent` to chart version `0.134.3`.
### v0.0.37 / 2026-07-01

#### Changes from opentelemetry-collector 0.134.3:
- [Fix] The `profilesK8sAttributes` preset now is enabled by default.
Expand Down
2 changes: 1 addition & 1 deletion otel-ecs-ec2/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
name: ecs-ec2-integration
description: ECS-EC2 OpenTelemetry Integration
version: 0.0.37
version: 0.0.38

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Update the advertised chart version

Bumping the chart to 0.0.38 here without also updating global.version leaves the rendered Coralogix exporter headers advertising X-Coralogix-Distribution: ecs-ec2-integration/0.0.37 (for example in otel-ecs-ec2/examples/otel-config.yaml:136 and the profiles header at line 143). Any install that does not override global.version will have telemetry from this release attributed to the previous chart version, which breaks distribution/release tracking; please keep values.yaml's global.version in sync with this chart version.

Useful? React with 👍 / 👎.

keywords:
- OpenTelemetry Collector
- OpenTelemetry Agent
Expand Down
7 changes: 5 additions & 2 deletions otel-ecs-ec2/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ EBPF_ENABLE_SET ?= --set opentelemetry-ebpf-profiler.enabled=true

HELM ?= helm
YQ ?= yq
MANIFEST_CLEANUP ?= sed 's/[[:space:]]*$$//' | sed -e ':a' -e 'N' -e '$$!ba' -e 's/\n\n*---/\n---/g'

.PHONY: all otel-config otel-config-ebpf manifest manifest-ebpf

Expand All @@ -35,7 +36,8 @@ manifest:
@command -v $(HELM) >/dev/null 2>&1 || { echo "Error: helm not found in PATH" >&2; exit 1; }
@mkdir -p $(OUTPUT_DIR)
@$(HELM) dependency build $(CHART_PATH) >/dev/null
@$(HELM) template $(RELEASE) $(CHART_PATH) -f $(VALUES_FILE) > $(MANIFEST_FILE)
@$(HELM) template $(RELEASE) $(CHART_PATH) -f $(VALUES_FILE) \
| $(MANIFEST_CLEANUP) > $(MANIFEST_FILE)
@echo "Wrote $(MANIFEST_FILE)"

# Render OpenTelemetry config with eBPF profiler enabled via --set
Expand All @@ -55,5 +57,6 @@ manifest-ebpf:
@command -v $(HELM) >/dev/null 2>&1 || { echo "Error: helm not found in PATH" >&2; exit 1; }
@mkdir -p $(OUTPUT_DIR)
@$(HELM) dependency build $(CHART_PATH) >/dev/null
@$(HELM) template $(RELEASE) $(CHART_PATH) -f $(VALUES_FILE) $(EBPF_ENABLE_SET) > $(MANIFEST_EBPF_FILE)
@$(HELM) template $(RELEASE) $(CHART_PATH) -f $(VALUES_FILE) $(EBPF_ENABLE_SET) \
| $(MANIFEST_CLEANUP) > $(MANIFEST_EBPF_FILE)
@echo "Wrote $(MANIFEST_EBPF_FILE)"
56 changes: 36 additions & 20 deletions otel-ecs-ec2/examples/manifest-ebpf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm



---
# Source: ecs-ec2-integration/charts/opentelemetry-ebpf-profiler/templates/serviceaccount.yaml
apiVersion: v1
Expand All @@ -27,9 +24,6 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm



---
# Source: ecs-ec2-integration/charts/opentelemetry-agent/templates/configmap-agent.yaml
apiVersion: v1
Expand All @@ -43,7 +37,7 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm

data:
relay: |
connectors:
Expand Down Expand Up @@ -355,6 +349,18 @@ data:
- context: resource
statements:
- keep_keys(resource.attributes, [""])
transform/profiles-ecs-service-name:
profile_statements:
- context: resource
statements:
- set(resource.attributes["service.name"], resource.attributes["aws.ecs.task.definition.family"])
where (resource.attributes["service.name"] == nil or resource.attributes["service.name"]
== "") and resource.attributes["aws.ecs.task.definition.family"] != nil and
resource.attributes["aws.ecs.task.definition.family"] != ""
- set(resource.attributes["service.name"], resource.attributes["aws.ecs.container.name"])
where (resource.attributes["service.name"] == nil or resource.attributes["service.name"]
== "") and resource.attributes["aws.ecs.container.name"] != nil and resource.attributes["aws.ecs.container.name"]
!= ""
transform/prometheus:
error_mode: ignore
metric_statements:
Expand Down Expand Up @@ -740,6 +746,18 @@ data:
- batch
receivers:
- spanmetrics/db_compact
profiles:
exporters:
- coralogix
processors:
- memory_limiter
- resourcedetection/region
- resourcedetection/env
- ecsattributes/container-logs
- resource/metadata
- transform/profiles-ecs-service-name
receivers:
- otlp
traces:
exporters:
- spanmetrics
Expand Down Expand Up @@ -804,7 +822,6 @@ data:
resource:
cx.agent.type: agent
service.name: opentelemetry-collector

---
# Source: ecs-ec2-integration/charts/opentelemetry-ebpf-profiler/templates/configmap-agent.yaml
apiVersion: v1
Expand All @@ -818,7 +835,7 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm

data:
relay: |
exporters:
Expand Down Expand Up @@ -953,7 +970,6 @@ data:
telemetry:
logs:
encoding: json

---
# Source: ecs-ec2-integration/charts/opentelemetry-agent/templates/daemonset.yaml
apiVersion: apps/v1
Expand All @@ -967,7 +983,7 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm

spec:
selector:
matchLabels:
Expand All @@ -979,15 +995,15 @@ spec:
template:
metadata:
annotations:
checksum/config: e497f1605d27ddd0142bd2b78a4fb56a35e84117d2240b1a7fae1ba84f6db70e
checksum/config: 1c5fdbc0c11d381b2e2db87ad7c84a8c56f1123b479432dba0ac0b273687838f

labels:
app.kubernetes.io/name: opentelemetry-agent
app.kubernetes.io/instance: ecs-ec2-example
component: agent-collector

spec:

serviceAccountName: ecs-ec2-example-opentelemetry-agent
securityContext:
{}
Expand All @@ -996,6 +1012,7 @@ spec:
command:
- /otelcol-contrib
- --config=/conf/relay.yaml
- --feature-gates=+service.profilesSupport
securityContext:
runAsUser: 0
runAsGroup: 0
Expand Down Expand Up @@ -1090,7 +1107,6 @@ spec:
nodeSelector:
kubernetes.io/os: linux
hostNetwork: true

---
# Source: ecs-ec2-integration/charts/opentelemetry-ebpf-profiler/templates/daemonset.yaml
apiVersion: apps/v1
Expand All @@ -1104,7 +1120,7 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm

spec:
selector:
matchLabels:
Expand All @@ -1117,14 +1133,14 @@ spec:
metadata:
annotations:
checksum/config: 98ffc951ca2c02b11d3eca7e996bf5173d72c462651e9acedf084af5f5c41eb6

labels:
app.kubernetes.io/name: opentelemetry-ebpf-profiler
app.kubernetes.io/instance: ecs-ec2-example
component: agent-collector

spec:

serviceAccountName: ecs-ec2-example-opentelemetry-ebpf-profiler
securityContext:
{}
Expand Down
41 changes: 31 additions & 10 deletions otel-ecs-ec2/examples/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm



---
# Source: ecs-ec2-integration/charts/opentelemetry-agent/templates/configmap-agent.yaml
apiVersion: v1
Expand All @@ -27,7 +24,7 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm

data:
relay: |
connectors:
Expand Down Expand Up @@ -339,6 +336,18 @@ data:
- context: resource
statements:
- keep_keys(resource.attributes, [""])
transform/profiles-ecs-service-name:
profile_statements:
- context: resource
statements:
- set(resource.attributes["service.name"], resource.attributes["aws.ecs.task.definition.family"])
where (resource.attributes["service.name"] == nil or resource.attributes["service.name"]
== "") and resource.attributes["aws.ecs.task.definition.family"] != nil and
resource.attributes["aws.ecs.task.definition.family"] != ""
- set(resource.attributes["service.name"], resource.attributes["aws.ecs.container.name"])
where (resource.attributes["service.name"] == nil or resource.attributes["service.name"]
== "") and resource.attributes["aws.ecs.container.name"] != nil and resource.attributes["aws.ecs.container.name"]
!= ""
transform/prometheus:
error_mode: ignore
metric_statements:
Expand Down Expand Up @@ -724,6 +733,18 @@ data:
- batch
receivers:
- spanmetrics/db_compact
profiles:
exporters:
- coralogix
processors:
- memory_limiter
- resourcedetection/region
- resourcedetection/env
- ecsattributes/container-logs
- resource/metadata
- transform/profiles-ecs-service-name
receivers:
- otlp
traces:
exporters:
- spanmetrics
Expand Down Expand Up @@ -788,7 +809,6 @@ data:
resource:
cx.agent.type: agent
service.name: opentelemetry-collector

---
# Source: ecs-ec2-integration/charts/opentelemetry-agent/templates/daemonset.yaml
apiVersion: apps/v1
Expand All @@ -802,7 +822,7 @@ metadata:
app.kubernetes.io/instance: ecs-ec2-example
app.kubernetes.io/version: "0.154.0"
app.kubernetes.io/managed-by: Helm

spec:
selector:
matchLabels:
Expand All @@ -814,15 +834,15 @@ spec:
template:
metadata:
annotations:
checksum/config: e497f1605d27ddd0142bd2b78a4fb56a35e84117d2240b1a7fae1ba84f6db70e
checksum/config: 1c5fdbc0c11d381b2e2db87ad7c84a8c56f1123b479432dba0ac0b273687838f

labels:
app.kubernetes.io/name: opentelemetry-agent
app.kubernetes.io/instance: ecs-ec2-example
component: agent-collector

spec:

serviceAccountName: ecs-ec2-example-opentelemetry-agent
securityContext:
{}
Expand All @@ -831,6 +851,7 @@ spec:
command:
- /otelcol-contrib
- --config=/conf/relay.yaml
- --feature-gates=+service.profilesSupport
securityContext:
runAsUser: 0
runAsGroup: 0
Expand Down
24 changes: 24 additions & 0 deletions otel-ecs-ec2/examples/otel-config-ebpf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,18 @@ processors:
- context: resource
statements:
- keep_keys(resource.attributes, [""])
transform/profiles-ecs-service-name:
profile_statements:
- context: resource
statements:
- set(resource.attributes["service.name"], resource.attributes["aws.ecs.task.definition.family"])
where (resource.attributes["service.name"] == nil or resource.attributes["service.name"]
== "") and resource.attributes["aws.ecs.task.definition.family"] != nil and
resource.attributes["aws.ecs.task.definition.family"] != ""
- set(resource.attributes["service.name"], resource.attributes["aws.ecs.container.name"])
where (resource.attributes["service.name"] == nil or resource.attributes["service.name"]
== "") and resource.attributes["aws.ecs.container.name"] != nil and resource.attributes["aws.ecs.container.name"]
!= ""
transform/prometheus:
error_mode: ignore
metric_statements:
Expand Down Expand Up @@ -692,6 +704,18 @@ service:
- batch
receivers:
- spanmetrics/db_compact
profiles:
exporters:
- coralogix
processors:
- memory_limiter
- resourcedetection/region
- resourcedetection/env
- ecsattributes/container-logs
- resource/metadata
- transform/profiles-ecs-service-name
receivers:
- otlp
traces:
exporters:
- spanmetrics
Expand Down
24 changes: 24 additions & 0 deletions otel-ecs-ec2/examples/otel-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,18 @@ processors:
- context: resource
statements:
- keep_keys(resource.attributes, [""])
transform/profiles-ecs-service-name:
profile_statements:
- context: resource
statements:
- set(resource.attributes["service.name"], resource.attributes["aws.ecs.task.definition.family"])
where (resource.attributes["service.name"] == nil or resource.attributes["service.name"]
== "") and resource.attributes["aws.ecs.task.definition.family"] != nil and
resource.attributes["aws.ecs.task.definition.family"] != ""
- set(resource.attributes["service.name"], resource.attributes["aws.ecs.container.name"])
where (resource.attributes["service.name"] == nil or resource.attributes["service.name"]
== "") and resource.attributes["aws.ecs.container.name"] != nil and resource.attributes["aws.ecs.container.name"]
!= ""
transform/prometheus:
error_mode: ignore
metric_statements:
Expand Down Expand Up @@ -692,6 +704,18 @@ service:
- batch
receivers:
- spanmetrics/db_compact
profiles:
exporters:
- coralogix
processors:
- memory_limiter
- resourcedetection/region
- resourcedetection/env
- ecsattributes/container-logs
- resource/metadata
- transform/profiles-ecs-service-name
receivers:
- otlp
traces:
exporters:
- spanmetrics
Expand Down
Loading
Loading