Skip to content

Commit 23ade6b

Browse files
committed
Address comments
1 parent 9246afa commit 23ade6b

11 files changed

Lines changed: 75 additions & 217 deletions

File tree

translator/tocwconfig/sampleConfig/opentelemetry/combined_v1_v2_ec2_config.yaml

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -542,9 +542,9 @@ processors:
542542
ec2_instance_tag_keys:
543543
- AutoScalingGroupName
544544
ec2_metadata_tags:
545+
- InstanceType
545546
- ImageId
546547
- InstanceId
547-
- InstanceType
548548
imds_retries: 1
549549
middleware: agenthealth/statuscode
550550
refresh_tags_interval: 0s
@@ -1020,22 +1020,16 @@ processors:
10201020
transform/set_cluster_name:
10211021
error_mode: ignore
10221022
flatten_data: false
1023-
log_statements: []
1024-
metric_statements:
1023+
log_statements:
10251024
- context: resource
10261025
error_mode: ignore
10271026
statements:
10281027
- set(resource.attributes["k8s.cluster.name"], "TestCluster")
1029-
trace_statements: []
1030-
transform/set_cluster_name_logs:
1031-
error_mode: ignore
1032-
flatten_data: false
1033-
log_statements:
1028+
metric_statements:
10341029
- context: resource
10351030
error_mode: ignore
10361031
statements:
10371032
- set(resource.attributes["k8s.cluster.name"], "TestCluster")
1038-
metric_statements: []
10391033
trace_statements: []
10401034
receivers:
10411035
awsxray:
@@ -1551,7 +1545,7 @@ service:
15511545
- forward/opentelemetry
15521546
processors:
15531547
- transform/otlp_scope
1554-
- transform/set_cluster_name_logs
1548+
- transform/set_cluster_name
15551549
- transform/otlp_log_source
15561550
receivers:
15571551
- otlp/grpc_127_0_0_1_4327
@@ -1574,12 +1568,12 @@ service:
15741568
- ec2tagger
15751569
- awsentity/resource
15761570
receivers:
1577-
- telegraf_procstat/1917393364
1578-
- telegraf_swap
1579-
- telegraf_mem
15801571
- telegraf_cpu
1581-
- telegraf_netstat
1572+
- telegraf_swap
1573+
- telegraf_procstat/1917393364
15821574
- telegraf_disk
1575+
- telegraf_netstat
1576+
- telegraf_mem
15831577
- telegraf_processes
15841578
metrics/host_metrics:
15851579
exporters:
@@ -1596,8 +1590,8 @@ service:
15961590
- ec2tagger
15971591
- awsentity/service/telegraf
15981592
receivers:
1599-
- telegraf_statsd
16001593
- telegraf_socket_listener
1594+
- telegraf_statsd
16011595
metrics/hostDeltaMetrics:
16021596
exporters:
16031597
- awscloudwatch
@@ -1648,6 +1642,7 @@ service:
16481642
- forward/opentelemetry
16491643
processors:
16501644
- transform/otlp_scope
1645+
- transform/set_cluster_name
16511646
receivers:
16521647
- otlp/grpc_127_0_0_1_4327
16531648
- otlp/http_127_0_0_1_4328

translator/tocwconfig/sampleConfig/opentelemetry/combined_v1_v2_eks_config.yaml

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1550,22 +1550,16 @@ processors:
15501550
transform/set_cluster_name:
15511551
error_mode: ignore
15521552
flatten_data: false
1553-
log_statements: []
1554-
metric_statements:
1553+
log_statements:
15551554
- context: resource
15561555
error_mode: ignore
15571556
statements:
15581557
- set(resource.attributes["k8s.cluster.name"], "TestCluster")
1559-
trace_statements: []
1560-
transform/set_cluster_name_logs:
1561-
error_mode: ignore
1562-
flatten_data: false
1563-
log_statements:
1558+
metric_statements:
15641559
- context: resource
15651560
error_mode: ignore
15661561
statements:
15671562
- set(resource.attributes["k8s.cluster.name"], "TestCluster")
1568-
metric_statements: []
15691563
trace_statements: []
15701564
receivers:
15711565
awsefareceiver/cw_k8s_ci_v0:
@@ -2238,7 +2232,7 @@ service:
22382232
- forward/opentelemetry
22392233
processors:
22402234
- transform/otlp_scope
2241-
- transform/set_cluster_name_logs
2235+
- transform/set_cluster_name
22422236
- transform/otlp_log_source
22432237
receivers:
22442238
- otlp/grpc_127_0_0_1_4327
@@ -2429,13 +2423,13 @@ service:
24292423
- ec2tagger
24302424
- awsentity/resource
24312425
receivers:
2432-
- telegraf_disk
2426+
- telegraf_mem
24332427
- telegraf_netstat
2434-
- telegraf_cpu
2435-
- telegraf_procstat/1917393364
24362428
- telegraf_swap
2437-
- telegraf_mem
24382429
- telegraf_processes
2430+
- telegraf_procstat/1917393364
2431+
- telegraf_cpu
2432+
- telegraf_disk
24392433
metrics/host_metrics:
24402434
exporters:
24412435
- forward/opentelemetry
@@ -2461,8 +2455,8 @@ service:
24612455
- ec2tagger
24622456
- awsentity/resource
24632457
receivers:
2464-
- telegraf_diskio
24652458
- telegraf_net
2459+
- telegraf_diskio
24662460
metrics/opentelemetry:
24672461
exporters:
24682462
- otlphttp/metrics
@@ -2505,6 +2499,7 @@ service:
25052499
- forward/opentelemetry
25062500
processors:
25072501
- transform/otlp_scope
2502+
- transform/set_cluster_name
25082503
receivers:
25092504
- otlp/grpc_127_0_0_1_4327
25102505
- otlp/http_127_0_0_1_4328

translator/translate/otel/common/common.go

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -558,26 +558,6 @@ func GetClusterName(conf *confmap.Conf) string {
558558
return util.GetClusterNameFromEc2Tagger()
559559
}
560560

561-
// DefaultCollectionInterval is the default collection interval for OpenTelemetry-based features.
562-
const DefaultCollectionInterval = 30 * time.Second
563-
564561
// ClusterNameRegex restricts cluster_name to safe characters, preventing
565562
// OTTL injection and template metacharacter issues.
566563
var ClusterNameRegex = regexp.MustCompile(`^[a-zA-Z0-9._-]+$`)
567-
568-
// GetOtelClusterName returns the cluster name for OpenTelemetry-based features.
569-
// It reads exclusively from opentelemetry::cluster_name.
570-
func GetOtelClusterName(conf *confmap.Conf) string {
571-
val, _ := GetString(conf, ConfigKey(OpenTelemetryKey, ClusterNameKey))
572-
return val
573-
}
574-
575-
// GetCollectionInterval returns the collection interval for an OpenTelemetry feature.
576-
// It checks the feature-specific collection_interval field. Default is 30s.
577-
func GetCollectionInterval(conf *confmap.Conf, featureKey string) time.Duration {
578-
key := ConfigKey(featureKey, CollectionIntervalKey)
579-
if v, ok := GetNumber(conf, key); ok && v > 0 {
580-
return time.Duration(v) * time.Second
581-
}
582-
return DefaultCollectionInterval
583-
}

translator/translate/otel/common/otel_config_test.go

Lines changed: 0 additions & 114 deletions
This file was deleted.

translator/translate/otel/pipeline/opentelemetry/containerinsights/common.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ import (
1717
)
1818

1919
const (
20-
ciPrefix = "cw_k8s_ci_v0"
21-
modeNode = "node"
22-
modeCluster = "cluster"
20+
ciPrefix = "cw_k8s_ci_v0"
21+
defaultCollectionInterval = 30 * time.Second
22+
roleNode = "node"
23+
roleCluster = "cluster"
2324
)
2425

2526
var ciConfigKey = common.ConfigKey(common.OpenTelemetryKey, common.CollectKey, common.OtelContainerInsightsKey)
@@ -87,8 +88,10 @@ func (t *yamlComponentTranslator) Translate(_ *confmap.Conf) (component.Config,
8788
return t.cfg, nil
8889
}
8990

91+
var otelClusterNameKey = common.ConfigKey(common.OpenTelemetryKey, common.ClusterNameKey)
92+
9093
func getClusterName(conf *confmap.Conf) (string, error) {
91-
name := common.GetOtelClusterName(conf)
94+
name, _ := common.GetString(conf, otelClusterNameKey)
9295
if name == "" {
9396
return "", fmt.Errorf("cluster_name is required for container_insights: set opentelemetry::cluster_name in config")
9497
}
@@ -99,7 +102,9 @@ func getClusterName(conf *confmap.Conf) (string, error) {
99102
}
100103

101104
func getCollectionInterval(conf *confmap.Conf) time.Duration {
102-
return common.GetCollectionInterval(conf, ciConfigKey)
105+
return common.GetOrDefaultDuration(conf, []string{
106+
common.ConfigKey(ciConfigKey, common.CollectionIntervalKey),
107+
}, defaultCollectionInterval)
103108
}
104109

105110
// logsEnabled returns true if container_insights.logs.enabled is set to true.
@@ -111,12 +116,12 @@ func logsEnabled(conf *confmap.Conf) bool {
111116
return common.GetOrDefaultBool(conf, key, false)
112117
}
113118

114-
// getMode resolves the container insights pipeline mode using the following
119+
// getRole resolves the container insights pipeline role using the following
115120
// priority order:
116121
// 1. JSON config field
117122
// 2. Environment variable
118123
// 3. Default: "node" (DaemonSet)
119-
func getMode(conf *confmap.Conf) string {
124+
func getRole(conf *confmap.Conf) string {
120125
if conf != nil {
121126
key := common.ConfigKey(ciConfigKey, "role")
122127
if v, ok := common.GetString(conf, key); ok && v != "" {
@@ -126,12 +131,12 @@ func getMode(conf *confmap.Conf) string {
126131
if role := strings.ToUpper(os.Getenv(envconfig.CWAGENT_ROLE)); role != "" {
127132
switch role {
128133
case envconfig.NODE:
129-
return modeNode
134+
return roleNode
130135
case envconfig.LEADER:
131-
return modeCluster
136+
return roleCluster
132137
}
133138
}
134-
return modeNode
139+
return roleNode
135140
}
136141

137142
type pipelineSpec struct {

0 commit comments

Comments
 (0)