@@ -11,7 +11,6 @@ import (
11
11
"fmt"
12
12
"io"
13
13
"net/http"
14
- "runtime"
15
14
"strings"
16
15
"sync"
17
16
"testing"
@@ -528,84 +527,3 @@ func sendLogs(t *testing.T, numLogs int) {
528
527
lr := make ([]log.Record , numLogs )
529
528
assert .NoError (t , logExporter .Export (ctx , lr ))
530
529
}
531
-
532
- func TestIntegrationInternalMetrics (t * testing.T ) {
533
- if runtime .GOOS == "windows" {
534
- t .Skip ("flaky test on windows https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/34836" )
535
- }
536
-
537
- // 1. Set up mock Datadog server
538
- seriesRec := & testutil.HTTPRequestRecorderWithChan {Pattern : testutil .MetricV2Endpoint , ReqChan : make (chan []byte , 100 )}
539
- tracesRec := & testutil.HTTPRequestRecorderWithChan {Pattern : testutil .TraceEndpoint , ReqChan : make (chan []byte , 100 )}
540
- server := testutil .DatadogServerMock (seriesRec .HandlerFunc , tracesRec .HandlerFunc )
541
- defer server .Close ()
542
- t .Setenv ("SERVER_URL" , server .URL )
543
-
544
- // 2. Start in-process collector
545
- factories := getIntegrationTestComponents (t )
546
- app := getIntegrationTestCollector (t , "integration_test_internal_metrics_config.yaml" , factories )
547
- go func () {
548
- assert .NoError (t , app .Run (context .Background ()))
549
- }()
550
- defer app .Shutdown ()
551
-
552
- waitForReadiness (app )
553
-
554
- // 3. Generate and send traces
555
- sendTraces (t )
556
-
557
- // 4. Validate Datadog trace agent & OTel internal metrics are sent to the mock server
558
- expectedMetrics := map [string ]struct {}{
559
- // Datadog internal metrics on trace and stats writers
560
- "otelcol_datadog_otlp_translator_resources_missing_source" : {},
561
- "otelcol_datadog_trace_agent_stats_writer_bytes" : {},
562
- "otelcol_datadog_trace_agent_stats_writer_retries" : {},
563
- "otelcol_datadog_trace_agent_stats_writer_stats_buckets" : {},
564
- "otelcol_datadog_trace_agent_stats_writer_stats_entries" : {},
565
- "otelcol_datadog_trace_agent_stats_writer_payloads" : {},
566
- "otelcol_datadog_trace_agent_stats_writer_client_payloads" : {},
567
- "otelcol_datadog_trace_agent_stats_writer_errors" : {},
568
- "otelcol_datadog_trace_agent_stats_writer_splits" : {},
569
- "otelcol_datadog_trace_agent_trace_writer_bytes" : {},
570
- "otelcol_datadog_trace_agent_trace_writer_retries" : {},
571
- "otelcol_datadog_trace_agent_trace_writer_spans" : {},
572
- "otelcol_datadog_trace_agent_trace_writer_traces" : {},
573
- "otelcol_datadog_trace_agent_trace_writer_payloads" : {},
574
- "otelcol_datadog_trace_agent_trace_writer_errors" : {},
575
- "otelcol_datadog_trace_agent_trace_writer_events" : {},
576
-
577
- // OTel collector internal metrics
578
- "otelcol_process_memory_rss" : {},
579
- "otelcol_process_runtime_total_sys_memory_bytes" : {},
580
- "otelcol_process_uptime" : {},
581
- "otelcol_process_cpu_seconds" : {},
582
- "otelcol_process_runtime_heap_alloc_bytes" : {},
583
- "otelcol_process_runtime_total_alloc_bytes" : {},
584
- "otelcol_receiver_accepted_metric_points" : {},
585
- "otelcol_receiver_accepted_spans" : {},
586
- "otelcol_exporter_queue_capacity" : {},
587
- "otelcol_exporter_queue_size" : {},
588
- "otelcol_exporter_sent_spans" : {},
589
- "otelcol_exporter_sent_metric_points" : {},
590
- }
591
-
592
- metricMap := make (map [string ]series )
593
- for len (metricMap ) < len (expectedMetrics ) {
594
- select {
595
- case <- tracesRec .ReqChan :
596
- // Drain the channel, no need to look into the traces
597
- case metricsBytes := <- seriesRec .ReqChan :
598
- var metrics seriesSlice
599
- gz := getGzipReader (t , metricsBytes )
600
- dec := json .NewDecoder (gz )
601
- assert .NoError (t , dec .Decode (& metrics ))
602
- for _ , s := range metrics .Series {
603
- if _ , ok := expectedMetrics [s .Metric ]; ok {
604
- metricMap [s .Metric ] = s
605
- }
606
- }
607
- case <- time .After (60 * time .Second ):
608
- t .Fail ()
609
- }
610
- }
611
- }
0 commit comments