-
Notifications
You must be signed in to change notification settings - Fork 150
[OTEL] Switches OTLP Tests To dd-apm-test-agent Instead of MockTracerAgent #7656
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Snapshots difference summaryThe following differences have been observed in committed snapshots. It is meant to help the reviewer. 1 occurrences of : - Resource: {
- Attributes: [
- {
- Key: telemetry.sdk.name,
- Value: {
- StringValue: sdk-name,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: telemetry.sdk.language,
- Value: {
- StringValue: dotnet,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: telemetry.sdk.version,
- Value: {
- StringValue: sdk-version,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: service.name,
- Value: {
- StringValue: unknown_service:dotnet,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- }
- ]
- },
- ScopeMetrics: [
+ "resource_metrics": [
[...]
- Scope: {
- Name: OpenTelemetryMetricsMeter,
- Version: 1.0,
- Attributes: [
+ "resource": {
+ "attributes": [
+ {
+ "key": "telemetry.sdk.name",
+ "value": {
+ "string_value": "sdk-name"
+ }
+ },
+ {
+ "key": "telemetry.sdk.language",
+ "value": {
+ "string_value": "dotnet"
+ }
+ },
+ {
+ "key": "telemetry.sdk.version",
+ "value": {
+ "string_value": "sdk-version"
+ }
+ },
[...]
- Key: MeterTagKey,
- Value: {
- StringValue: MeterTagValue,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
+ "key": "service.name",
+ "value": {
+ "string_value": "unknown_service:dotnet"
[...]
- Metrics: [
- {
- Name: example.async.counter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 22,
- HasAsInt: true,
- ValueCase: AsInt
- }
- ],
- AggregationTemporality: Delta,
- IsMonotonic: true
- },
- DataCase: Sum
- },
+ "scope_metrics": [
[...]
- Name: example.async.gauge,
- Description: ,
- Unit: ,
- Gauge: {
- DataPoints: [
+ "scope": {
+ "name": "OpenTelemetryMetricsMeter",
+ "version": "1.0",
+ "attributes": [
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsDouble: 88.0,
- HasAsDouble: true,
- ValueCase: AsDouble
+ "key": "MeterTagKey",
+ "value": {
+ "string_value": "MeterTagValue"
+ }
[...]
- DataCase: Gauge
- },
- {
- Name: example.async.upDownCounter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 66,
- HasAsInt: true,
- ValueCase: AsInt
+ "metrics": [
+ {
+ "name": "example.async.counter",
+ "sum": {
+ "data_points": [
+ {
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "22"
+ }
+ ],
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA",
+ "is_monotonic": true
[...]
- ],
- AggregationTemporality: Cumulative
- },
- DataCase: Sum
- },
- {
- Name: example.counter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- Attributes: [
+ },
+ {
+ "name": "example.async.gauge",
+ "gauge": {
+ "data_points": [
[...]
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_double": 88.0
+ }
+ ]
+ }
+ },
+ {
+ "name": "example.async.upDownCounter",
+ "sum": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "66"
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 11,
- HasAsInt: true,
- ValueCase: AsInt
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
- ],
- AggregationTemporality: Delta,
- IsMonotonic: true
- },
- DataCase: Sum
- },
- {
- Name: example.gauge,
- Description: ,
- Unit: ,
- Gauge: {
- DataPoints: [
- {
- Attributes: [
+ },
+ {
+ "name": "example.counter",
+ "sum": {
+ "data_points": [
[...]
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "11",
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ]
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsDouble: 77.0,
- HasAsDouble: true,
- ValueCase: AsDouble
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA",
+ "is_monotonic": true
[...]
- ]
- },
- DataCase: Gauge
- },
- {
- Name: example.histogram,
- Description: ,
- Unit: ,
- Histogram: {
- DataPoints: [
- {
- Attributes: [
+ },
+ {
+ "name": "example.gauge",
+ "gauge": {
+ "data_points": [
[...]
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_double": 77.0,
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "name": "example.histogram",
+ "histogram": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "count": "1",
+ "sum": 33.0,
+ "bucket_counts": [
+ "0",
+ "0",
+ "0",
+ "0",
+ "1",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ "explicit_bounds": [
+ 0.0,
+ 5.0,
+ 10.0,
+ 25.0,
+ 50.0,
+ 75.0,
+ 100.0,
+ 250.0,
+ 500.0,
+ 750.0,
+ 1000.0,
+ 2500.0,
+ 5000.0,
+ 7500.0,
+ 10000.0
+ ],
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ],
+ "min": 33.0,
+ "max": 33.0
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- Count: 1,
- Sum: 33.0,
- HasSum: true,
- BucketCounts: [
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- ],
- ExplicitBounds: [
- 0.0,
- 5.0,
- 10.0,
- 25.0,
- 50.0,
- 75.0,
- 100.0,
- 250.0,
- 500.0,
- 750.0,
- 1000.0,
- 2500.0,
- 5000.0,
- 7500.0,
- 10000.0
- ],
- Min: 33.0,
- HasMin: true,
- Max: 33.0,
- HasMax: true
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_DELTA"
[...]
- ],
- AggregationTemporality: Delta
- },
- DataCase: Histogram
- },
- {
- Name: example.upDownCounter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- Attributes: [
+ },
+ {
+ "name": "example.upDownCounter",
+ "sum": {
+ "data_points": [
[...]
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "55",
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ]
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 55,
- HasAsInt: true,
- ValueCase: AsInt
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
- ],
- AggregationTemporality: Cumulative
- },
- DataCase: Sum
+ }
+ ]
[...]
- ],
- SchemaUrl:
+ ]
[...]
- ],
- SchemaUrl:
+ ]
1 occurrences of : - Resource: {
- Attributes: [
- {
- Key: telemetry.sdk.name,
- Value: {
- StringValue: sdk-name,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: telemetry.sdk.language,
- Value: {
- StringValue: dotnet,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: telemetry.sdk.version,
- Value: {
- StringValue: sdk-version,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: service.name,
- Value: {
- StringValue: unknown_service:dotnet,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- }
- ]
- },
- ScopeMetrics: [
+ "resource_metrics": [
[...]
- Scope: {
- Name: OpenTelemetryMetricsMeter,
- Version: 1.0
- },
- Metrics: [
- {
- Name: example.async.counter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 22,
- HasAsInt: true,
- ValueCase: AsInt
- }
- ],
- AggregationTemporality: Cumulative,
- IsMonotonic: true
+ "resource": {
+ "attributes": [
+ {
+ "key": "telemetry.sdk.name",
+ "value": {
+ "string_value": "sdk-name"
+ }
[...]
- DataCase: Sum
- },
- {
- Name: example.async.gauge,
- Description: ,
- Unit: ,
- Gauge: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsDouble: 88.0,
- HasAsDouble: true,
- ValueCase: AsDouble
- }
- ]
+ {
+ "key": "telemetry.sdk.language",
+ "value": {
+ "string_value": "dotnet"
+ }
+ },
+ {
+ "key": "telemetry.sdk.version",
+ "value": {
+ "string_value": "sdk-version"
+ }
[...]
- DataCase: Gauge
- },
+ {
+ "key": "service.name",
+ "value": {
+ "string_value": "unknown_service:dotnet"
+ }
+ }
+ ]
+ },
+ "scope_metrics": [
[...]
- Name: example.counter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- Attributes: [
- {
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "scope": {
+ "name": "OpenTelemetryMetricsMeter",
+ "version": "1.0"
+ },
+ "metrics": [
+ {
+ "name": "example.async.counter",
+ "sum": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "22"
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 11,
- HasAsInt: true,
- ValueCase: AsInt
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+ "is_monotonic": true
[...]
- ],
- AggregationTemporality: Cumulative,
- IsMonotonic: true
- },
- DataCase: Sum
- },
- {
- Name: example.histogram,
- Description: ,
- Unit: ,
- Histogram: {
- DataPoints: [
- {
- Attributes: [
+ },
+ {
+ "name": "example.async.gauge",
+ "gauge": {
+ "data_points": [
[...]
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_double": 88.0
+ }
+ ]
+ }
+ },
+ {
+ "name": "example.counter",
+ "sum": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "11",
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ]
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- Count: 1,
- Sum: 33.0,
- HasSum: true,
- BucketCounts: [
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- ],
- ExplicitBounds: [
- 0.0,
- 5.0,
- 10.0,
- 25.0,
- 50.0,
- 75.0,
- 100.0,
- 250.0,
- 500.0,
- 750.0,
- 1000.0,
- 2500.0,
- 5000.0,
- 7500.0,
- 10000.0
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+ "is_monotonic": true
+ }
+ },
+ {
+ "name": "example.histogram",
+ "histogram": {
+ "data_points": [
+ {
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "count": "1",
+ "sum": 33.0,
+ "bucket_counts": [
+ "0",
+ "0",
+ "0",
+ "0",
+ "1",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ "explicit_bounds": [
+ 0.0,
+ 5.0,
+ 10.0,
+ 25.0,
+ 50.0,
+ 75.0,
+ 100.0,
+ 250.0,
+ 500.0,
+ 750.0,
+ 1000.0,
+ 2500.0,
+ 5000.0,
+ 7500.0,
+ 10000.0
+ ],
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ],
+ "min": 33.0,
+ "max": 33.0
+ }
[...]
- Min: 33.0,
- HasMin: true,
- Max: 33.0,
- HasMax: true
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
- ],
- AggregationTemporality: Cumulative
- },
- DataCase: Histogram
+ }
+ ]
[...]
- ],
- SchemaUrl:
+ ]
[...]
- ],
- SchemaUrl:
+ ]
1 occurrences of : - Resource: {
- Attributes: [
- {
- Key: service.name,
- Value: {
- StringValue: unknown_service:dotnet,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- }
- ]
- },
- ScopeMetrics: [
+ "resource_metrics": [
[...]
- Scope: {
- Name: OpenTelemetryMetricsMeter,
- Version: 1.0
+ "resource": {
+ "attributes": [
+ {
+ "key": "service.name",
+ "value": {
+ "string_value": "unknown_service:dotnet"
+ }
+ }
+ ]
[...]
- Metrics: [
+ "scope_metrics": [
[...]
- Name: example.async.counter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 22,
- HasAsInt: true,
- ValueCase: AsInt
- }
- ],
- AggregationTemporality: Cumulative,
- IsMonotonic: true
- },
- DataCase: Sum
- },
- {
- Name: example.async.gauge,
- Description: ,
- Unit: ,
- Gauge: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsDouble: 88.0,
- HasAsDouble: true,
- ValueCase: AsDouble
- }
- ]
+ "scope": {
+ "name": "OpenTelemetryMetricsMeter",
+ "version": "1.0"
[...]
- DataCase: Gauge
- },
- {
- Name: example.counter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- Attributes: [
- {
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "metrics": [
+ {
+ "name": "example.async.counter",
+ "sum": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "22"
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 11,
- HasAsInt: true,
- ValueCase: AsInt
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+ "is_monotonic": true
[...]
- ],
- AggregationTemporality: Cumulative,
- IsMonotonic: true
- },
- DataCase: Sum
- },
- {
- Name: example.histogram,
- Description: ,
- Unit: ,
- Histogram: {
- DataPoints: [
- {
- Attributes: [
+ },
+ {
+ "name": "example.async.gauge",
+ "gauge": {
+ "data_points": [
[...]
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_double": 88.0
+ }
+ ]
+ }
+ },
+ {
+ "name": "example.counter",
+ "sum": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "11",
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ]
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- Count: 1,
- Sum: 33.0,
- HasSum: true,
- BucketCounts: [
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+ "is_monotonic": true
+ }
+ },
+ {
+ "name": "example.histogram",
+ "histogram": {
+ "data_points": [
+ {
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "count": "1",
+ "sum": 33.0,
+ "bucket_counts": [
+ "0",
+ "0",
+ "0",
+ "0",
+ "1",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ "explicit_bounds": [
+ 0.0,
+ 5.0,
+ 10.0,
+ 25.0,
+ 50.0,
+ 75.0,
+ 100.0,
+ 250.0,
+ 500.0,
+ 1000.0
+ ],
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ]
+ }
[...]
- ExplicitBounds: [
- 0.0,
- 5.0,
- 10.0,
- 25.0,
- 50.0,
- 75.0,
- 100.0,
- 250.0,
- 500.0,
- 1000.0
- ]
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
- ],
- AggregationTemporality: Cumulative
- },
- DataCase: Histogram
+ }
+ ]
[...]
- ],
- SchemaUrl:
+ ]
[...]
- ],
- SchemaUrl:
+ ]
1 occurrences of : - Resource: {
- Attributes: [
- {
- Key: telemetry.sdk.name,
- Value: {
- StringValue: sdk-name,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: telemetry.sdk.language,
- Value: {
- StringValue: dotnet,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: telemetry.sdk.version,
- Value: {
- StringValue: sdk-version,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
- {
- Key: service.name,
- Value: {
- StringValue: unknown_service:dotnet,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- }
- ]
- },
- ScopeMetrics: [
+ "resource_metrics": [
[...]
- Scope: {
- Name: OpenTelemetryMetricsMeter,
- Version: 1.0
- },
- Metrics: [
- {
- Name: example.async.counter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 22,
- HasAsInt: true,
- ValueCase: AsInt
- }
- ],
- AggregationTemporality: Cumulative,
- IsMonotonic: true
+ "resource": {
+ "attributes": [
+ {
+ "key": "telemetry.sdk.name",
+ "value": {
+ "string_value": "sdk-name"
+ }
[...]
- DataCase: Sum
- },
- {
- Name: example.async.gauge,
- Description: ,
- Unit: ,
- Gauge: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsDouble: 88.0,
- HasAsDouble: true,
- ValueCase: AsDouble
- }
- ]
+ {
+ "key": "telemetry.sdk.language",
+ "value": {
+ "string_value": "dotnet"
+ }
[...]
- DataCase: Gauge
- },
- {
- Name: example.async.upDownCounter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 66,
- HasAsInt: true,
- ValueCase: AsInt
- }
- ],
- AggregationTemporality: Cumulative
+ {
+ "key": "telemetry.sdk.version",
+ "value": {
+ "string_value": "sdk-version"
+ }
[...]
- DataCase: Sum
- },
+ {
+ "key": "service.name",
+ "value": {
+ "string_value": "unknown_service:dotnet"
+ }
+ }
+ ]
+ },
+ "scope_metrics": [
[...]
- Name: example.counter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- Attributes: [
- {
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "scope": {
+ "name": "OpenTelemetryMetricsMeter",
+ "version": "1.0"
+ },
+ "metrics": [
+ {
+ "name": "example.async.counter",
+ "sum": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "22"
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 11,
- HasAsInt: true,
- ValueCase: AsInt
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+ "is_monotonic": true
[...]
- ],
- AggregationTemporality: Cumulative,
- IsMonotonic: true
- },
- DataCase: Sum
- },
- {
- Name: example.histogram,
- Description: ,
- Unit: ,
- Histogram: {
- DataPoints: [
- {
- Attributes: [
+ },
+ {
+ "name": "example.async.gauge",
+ "gauge": {
+ "data_points": [
[...]
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_double": 88.0
+ }
+ ]
+ }
+ },
+ {
+ "name": "example.async.upDownCounter",
+ "sum": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "66"
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- Count: 1,
- Sum: 33.0,
- HasSum: true,
- BucketCounts: [
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- ],
- ExplicitBounds: [
- 0.0,
- 5.0,
- 10.0,
- 25.0,
- 50.0,
- 75.0,
- 100.0,
- 250.0,
- 500.0,
- 750.0,
- 1000.0,
- 2500.0,
- 5000.0,
- 7500.0,
- 10000.0
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
+ }
+ },
+ {
+ "name": "example.counter",
+ "sum": {
+ "data_points": [
+ {
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "11",
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ]
+ }
[...]
- Min: 33.0,
- HasMin: true,
- Max: 33.0,
- HasMax: true
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE",
+ "is_monotonic": true
[...]
- ],
- AggregationTemporality: Cumulative
- },
- DataCase: Histogram
- },
- {
- Name: example.upDownCounter,
- Description: ,
- Unit: ,
- Sum: {
- DataPoints: [
- {
- Attributes: [
+ },
+ {
+ "name": "example.histogram",
+ "histogram": {
+ "data_points": [
[...]
- Key: http.method,
- Value: {
- StringValue: GET,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
- },
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "count": "1",
+ "sum": 33.0,
+ "bucket_counts": [
+ "0",
+ "0",
+ "0",
+ "0",
+ "1",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ "explicit_bounds": [
+ 0.0,
+ 5.0,
+ 10.0,
+ 25.0,
+ 50.0,
+ 75.0,
+ 100.0,
+ 250.0,
+ 500.0,
+ 750.0,
+ 1000.0,
+ 2500.0,
+ 5000.0,
+ 7500.0,
+ 10000.0
+ ],
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ],
+ "min": 33.0,
+ "max": 33.0
+ }
+ ],
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
+ }
+ },
+ {
+ "name": "example.upDownCounter",
+ "sum": {
+ "data_points": [
[...]
- Key: rid,
- Value: {
- StringValue: 1234567890,
- HasStringValue: true,
- BytesValue: [],
- ValueCase: StringValue
- }
+ "start_time_unix_nano": "0",
+ "time_unix_nano": "0",
+ "as_int": "55",
+ "attributes": [
+ {
+ "key": "http.method",
+ "value": {
+ "string_value": "GET"
+ }
+ },
+ {
+ "key": "rid",
+ "value": {
+ "string_value": "1234567890"
+ }
+ }
+ ]
[...]
- StartTimeUnixNano": <DateTimeOffset.Now>,
- TimeUnixNano": <DateTimeOffset.Now>,
- AsInt: 55,
- HasAsInt: true,
- ValueCase: AsInt
+ "aggregation_temporality": "AGGREGATION_TEMPORALITY_CUMULATIVE"
[...]
- ],
- AggregationTemporality: Cumulative
- },
- DataCase: Sum
+ }
+ ]
[...]
- ],
- SchemaUrl:
+ ]
[...]
- ],
- SchemaUrl:
+ ]
|
zacharycmontoya
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing the following branches/commits: Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7656) - mean (72ms) : 71, 73
. : milestone, 72,
master - mean (72ms) : 71, 73
. : milestone, 72,
section Baseline
This PR (7656) - mean (68ms) : 67, 69
. : milestone, 68,
master - mean (68ms) : 66, 69
. : milestone, 68,
section CallTarget+Inlining+NGEN
This PR (7656) - mean (1,052ms) : 988, 1116
. : milestone, 1052,
master - mean (1,049ms) : 992, 1105
. : milestone, 1049,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7656) - mean (106ms) : 105, 107
. : milestone, 106,
master - mean (106ms) : 105, 107
. : milestone, 106,
section Baseline
This PR (7656) - mean (105ms) : 103, 108
. : milestone, 105,
master - mean (105ms) : 103, 108
. : milestone, 105,
section CallTarget+Inlining+NGEN
This PR (7656) - mean (743ms) : 723, 763
. : milestone, 743,
master - mean (743ms) : 722, 764
. : milestone, 743,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7656) - mean (94ms) : 93, 95
. : milestone, 94,
master - mean (94ms) : 93, 95
. : milestone, 94,
section Baseline
This PR (7656) - mean (93ms) : 91, 95
. : milestone, 93,
master - mean (94ms) : 91, 96
. : milestone, 94,
section CallTarget+Inlining+NGEN
This PR (7656) - mean (698ms) : 677, 718
. : milestone, 698,
master - mean (702ms) : 679, 725
. : milestone, 702,
gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7656) - mean (93ms) : 92, 94
. : milestone, 93,
master - mean (92ms) : 91, 93
. : milestone, 92,
section Baseline
This PR (7656) - mean (92ms) : 89, 95
. : milestone, 92,
master - mean (92ms) : 91, 94
. : milestone, 92,
section CallTarget+Inlining+NGEN
This PR (7656) - mean (657ms) : 641, 673
. : milestone, 657,
master - mean (662ms) : 649, 675
. : milestone, 662,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7656) - mean (196ms) : 193, 199
. : milestone, 196,
master - mean (197ms) : 193, 201
. : milestone, 197,
section Baseline
This PR (7656) - mean (192ms) : 189, 195
. : milestone, 192,
master - mean (194ms) : 188, 200
. : milestone, 194,
section CallTarget+Inlining+NGEN
This PR (7656) - mean (1,165ms) : 1097, 1232
. : milestone, 1165,
master - mean (1,166ms) : 1108, 1224
. : milestone, 1166,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7656) - mean (276ms) : 273, 280
. : milestone, 276,
master - mean (278ms) : 274, 282
. : milestone, 278,
section Baseline
This PR (7656) - mean (276ms) : 272, 280
. : milestone, 276,
master - mean (276ms) : 271, 281
. : milestone, 276,
section CallTarget+Inlining+NGEN
This PR (7656) - mean (938ms) : 897, 979
. : milestone, 938,
master - mean (943ms) : 897, 989
. : milestone, 943,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7656) - mean (270ms) : 266, 273
. : milestone, 270,
master - mean (271ms) : 266, 275
. : milestone, 271,
section Baseline
This PR (7656) - mean (269ms) : 265, 273
. : milestone, 269,
master - mean (270ms) : 266, 275
. : milestone, 270,
section CallTarget+Inlining+NGEN
This PR (7656) - mean (922ms) : 878, 966
. : milestone, 922,
master - mean (936ms) : 881, 991
. : milestone, 936,
gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7656) - mean (268ms) : 266, 271
. : milestone, 268,
master - mean (272ms) : 268, 276
. : milestone, 272,
section Baseline
This PR (7656) - mean (268ms) : 264, 273
. : milestone, 268,
master - mean (270ms) : 266, 274
. : milestone, 270,
section CallTarget+Inlining+NGEN
This PR (7656) - mean (848ms) : 829, 866
. : milestone, 848,
master - mean (861ms) : 842, 879
. : milestone, 861,
|
|
| <!-- https://andrewlock.net/stop-lying-about-netstandard-2-support/--> | ||
| <SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings> | ||
| <ApiVersion Condition="'$(ApiVersion)' == ''">1.12.0</ApiVersion> | ||
| <ApiVersion Condition="'$(ApiVersion)' == ''">1.13.1</ApiVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now these tests need a Docker dependency in order to run
| <ApiVersion Condition="'$(ApiVersion)' == ''">1.13.1</ApiVersion> | |
| <RequiresDockerDependency>true</RequiresDockerDependency> | |
| <ApiVersion Condition="'$(ApiVersion)' == ''">1.13.1</ApiVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And then you'll need to re-run the GeneratePackageVersions target to update the matrix of sample apps with this
tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/OpenTelemetrySdkTests.cs
Show resolved
Hide resolved
tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/OpenTelemetrySdkTests.cs
Show resolved
Hide resolved
BenchmarksBenchmarks Report for benchmark platform 🐌Benchmarks for #7656 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.ActivityBenchmark - Same speed ✔️ More allocations
|
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 | 6.01 KB | 6.12 KB | 102 B | 1.70% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 | 5.74 KB | 5.7 KB | -42 B | -0.73% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartStopWithChild |
net6.0 | 10.6μs | 57.1ns | 323ns | 0 | 0 | 0 | 5.51 KB |
| master | StartStopWithChild |
netcoreapp3.1 | 13.7μs | 65.8ns | 263ns | 0 | 0 | 0 | 5.74 KB |
| master | StartStopWithChild |
net472 | 22μs | 115ns | 565ns | 0.992 | 0.331 | 0.11 | 6.01 KB |
| #7656 | StartStopWithChild |
net6.0 | 10.9μs | 59.5ns | 331ns | 0 | 0 | 0 | 5.53 KB |
| #7656 | StartStopWithChild |
netcoreapp3.1 | 13μs | 68ns | 319ns | 0 | 0 | 0 | 5.7 KB |
| #7656 | StartStopWithChild |
net472 | 22.3μs | 108ns | 460ns | 0.968 | 0.215 | 0 | 6.12 KB |
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #7656
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
3.31 KB
3.35 KB
46 B
1.39%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 | 3.31 KB | 3.35 KB | 46 B | 1.39% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 936μs | 67.9ns | 235ns | 0 | 0 | 0 | 2.71 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.03ms | 98.4ns | 368ns | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 1.19ms | 101ns | 379ns | 0 | 0 | 0 | 3.31 KB |
| #7656 | WriteAndFlushEnrichedTraces |
net6.0 | 918μs | 126ns | 455ns | 0 | 0 | 0 | 2.71 KB |
| #7656 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.02ms | 168ns | 630ns | 0 | 0 | 0 | 2.7 KB |
| #7656 | WriteAndFlushEnrichedTraces |
net472 | 1.2ms | 1.64μs | 5.67μs | 0 | 0 | 0 | 3.35 KB |
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Fewer allocations 🎉
Fewer allocations 🎉 in #7656
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑netcoreapp3.1
189.23 KB
187.44 KB
-1.79 KB
-0.95%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net6.0
183.53 KB
181.77 KB
-1.76 KB
-0.96%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑netcoreapp3.1
185.8 KB
184.01 KB
-1.79 KB
-0.96%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑net6.0
180.01 KB
178.25 KB
-1.76 KB
-0.98%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472
209.83 KB
207.5 KB
-2.33 KB
-1.11%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑net472
206.3 KB
203.96 KB
-2.34 KB
-1.14%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑netcoreapp3.1 | 189.23 KB | 187.44 KB | -1.79 KB | -0.95% |
| Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net6.0 | 183.53 KB | 181.77 KB | -1.76 KB | -0.96% |
| Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑netcoreapp3.1 | 185.8 KB | 184.01 KB | -1.79 KB | -0.96% |
| Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑net6.0 | 180.01 KB | 178.25 KB | -1.76 KB | -0.98% |
| Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 | 209.83 KB | 207.5 KB | -2.33 KB | -1.11% |
| Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 | 206.3 KB | 203.96 KB | -2.34 KB | -1.14% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | AllCycleSimpleBody |
net6.0 | 356μs | 197ns | 738ns | 0 | 0 | 0 | 180.01 KB |
| master | AllCycleSimpleBody |
netcoreapp3.1 | 512μs | 2.35μs | 9.12μs | 0 | 0 | 0 | 185.8 KB |
| master | AllCycleSimpleBody |
net472 | 469μs | 143ns | 553ns | 32.4 | 0 | 0 | 206.3 KB |
| master | AllCycleMoreComplexBody |
net6.0 | 362μs | 1.43μs | 5.53μs | 0 | 0 | 0 | 183.53 KB |
| master | AllCycleMoreComplexBody |
netcoreapp3.1 | 539μs | 1.77μs | 6.86μs | 0 | 0 | 0 | 189.23 KB |
| master | AllCycleMoreComplexBody |
net472 | 480μs | 118ns | 457ns | 32.4 | 0 | 0 | 209.83 KB |
| master | ObjectExtractorSimpleBody |
net6.0 | 319ns | 1.6ns | 7.34ns | 0 | 0 | 0 | 280 B |
| master | ObjectExtractorSimpleBody |
netcoreapp3.1 | 398ns | 2.04ns | 9.8ns | 0 | 0 | 0 | 272 B |
| master | ObjectExtractorSimpleBody |
net472 | 298ns | 0.0428ns | 0.166ns | 0.0436 | 0 | 0 | 281 B |
| master | ObjectExtractorMoreComplexBody |
net6.0 | 6.37μs | 32.5ns | 149ns | 0 | 0 | 0 | 3.78 KB |
| master | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.85μs | 36ns | 139ns | 0 | 0 | 0 | 3.69 KB |
| master | ObjectExtractorMoreComplexBody |
net472 | 6.68μs | 3.58ns | 13.9ns | 0.602 | 0 | 0 | 3.8 KB |
| #7656 | AllCycleSimpleBody |
net6.0 | 346μs | 270ns | 1.01μs | 0 | 0 | 0 | 178.25 KB |
| #7656 | AllCycleSimpleBody |
netcoreapp3.1 | 479μs | 1.22μs | 4.71μs | 0 | 0 | 0 | 184.01 KB |
| #7656 | AllCycleSimpleBody |
net472 | 458μs | 91.1ns | 353ns | 31.2 | 0 | 0 | 203.96 KB |
| #7656 | AllCycleMoreComplexBody |
net6.0 | 358μs | 997ns | 3.86μs | 0 | 0 | 0 | 181.77 KB |
| #7656 | AllCycleMoreComplexBody |
netcoreapp3.1 | 496μs | 2.19μs | 8.46μs | 0 | 0 | 0 | 187.44 KB |
| #7656 | AllCycleMoreComplexBody |
net472 | 467μs | 107ns | 416ns | 32.4 | 0 | 0 | 207.5 KB |
| #7656 | ObjectExtractorSimpleBody |
net6.0 | 318ns | 1.81ns | 12.9ns | 0 | 0 | 0 | 280 B |
| #7656 | ObjectExtractorSimpleBody |
netcoreapp3.1 | 403ns | 1.18ns | 4.57ns | 0 | 0 | 0 | 272 B |
| #7656 | ObjectExtractorSimpleBody |
net472 | 302ns | 0.0162ns | 0.0585ns | 0.044 | 0 | 0 | 281 B |
| #7656 | ObjectExtractorMoreComplexBody |
net6.0 | 6.32μs | 32.4ns | 148ns | 0 | 0 | 0 | 3.78 KB |
| #7656 | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.78μs | 38.7ns | 160ns | 0 | 0 | 0 | 3.69 KB |
| #7656 | ObjectExtractorMoreComplexBody |
net472 | 6.7μs | 6.85ns | 25.6ns | 0.602 | 0 | 0 | 3.8 KB |
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EncodeArgs |
net6.0 | 76.7μs | 107ns | 386ns | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
netcoreapp3.1 | 97.1μs | 206ns | 796ns | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
net472 | 109μs | 12.5ns | 43.3ns | 4.9 | 0 | 0 | 32.51 KB |
| master | EncodeLegacyArgs |
net6.0 | 145μs | 219ns | 847ns | 0 | 0 | 0 | 2.14 KB |
| master | EncodeLegacyArgs |
netcoreapp3.1 | 196μs | 210ns | 814ns | 0 | 0 | 0 | 2.14 KB |
| master | EncodeLegacyArgs |
net472 | 262μs | 49.7ns | 192ns | 0 | 0 | 0 | 2.17 KB |
| #7656 | EncodeArgs |
net6.0 | 76.6μs | 311ns | 1.2μs | 0 | 0 | 0 | 32.4 KB |
| #7656 | EncodeArgs |
netcoreapp3.1 | 96.8μs | 159ns | 617ns | 0 | 0 | 0 | 32.4 KB |
| #7656 | EncodeArgs |
net472 | 110μs | 46.9ns | 182ns | 4.95 | 0 | 0 | 32.51 KB |
| #7656 | EncodeLegacyArgs |
net6.0 | 148μs | 42.1ns | 163ns | 0 | 0 | 0 | 2.14 KB |
| #7656 | EncodeLegacyArgs |
netcoreapp3.1 | 200μs | 574ns | 2.22μs | 0 | 0 | 0 | 2.14 KB |
| #7656 | EncodeLegacyArgs |
net472 | 264μs | 18.2ns | 68.1ns | 0 | 0 | 0 | 2.17 KB |
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️
Slower ⚠️ in #7656
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1
2.084
409,979.58
854,515.42
Faster 🎉 in #7656
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1
2.455
728,218.82
296,612.35
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 | 2.084 | 409,979.58 | 854,515.42 |
| Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 | 2.455 | 728,218.82 | 296,612.35 |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunWafRealisticBenchmark |
net6.0 | 392μs | 41ns | 153ns | 0 | 0 | 0 | 4.56 KB |
| master | RunWafRealisticBenchmark |
netcoreapp3.1 | 410μs | 43.3ns | 156ns | 0 | 0 | 0 | 4.48 KB |
| master | RunWafRealisticBenchmark |
net472 | 429μs | 62.6ns | 234ns | 0 | 0 | 0 | 4.66 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net6.0 | 290μs | 33.5ns | 130ns | 0 | 0 | 0 | 2.24 KB |
| master | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 715μs | 5.02μs | 50.2μs | 0 | 0 | 0 | 2.22 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net472 | 311μs | 30.7ns | 119ns | 0 | 0 | 0 | 2.29 KB |
| #7656 | RunWafRealisticBenchmark |
net6.0 | 394μs | 66ns | 247ns | 0 | 0 | 0 | 4.55 KB |
| #7656 | RunWafRealisticBenchmark |
netcoreapp3.1 | 798μs | 13.3μs | 133μs | 0 | 0 | 0 | 4.48 KB |
| #7656 | RunWafRealisticBenchmark |
net472 | 428μs | 57.3ns | 206ns | 0 | 0 | 0 | 4.66 KB |
| #7656 | RunWafRealisticBenchmarkWithAttack |
net6.0 | 286μs | 97.2ns | 364ns | 0 | 0 | 0 | 2.24 KB |
| #7656 | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 297μs | 222ns | 800ns | 0 | 0 | 0 | 2.22 KB |
| #7656 | RunWafRealisticBenchmarkWithAttack |
net472 | 309μs | 21.9ns | 84.7ns | 0 | 0 | 0 | 2.29 KB |
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendRequest |
net6.0 | 60.7μs | 68.7ns | 266ns | 0 | 0 | 0 | 14.52 KB |
| master | SendRequest |
netcoreapp3.1 | 69.9μs | 97.5ns | 338ns | 0 | 0 | 0 | 17.42 KB |
| master | SendRequest |
net472 | 0.00231ns | 0.00151ns | 0.00584ns | 0 | 0 | 0 | 0 b |
| #7656 | SendRequest |
net6.0 | 60.7μs | 80.4ns | 290ns | 0 | 0 | 0 | 14.52 KB |
| #7656 | SendRequest |
netcoreapp3.1 | 71.8μs | 305ns | 1.18μs | 0 | 0 | 0 | 17.42 KB |
| #7656 | SendRequest |
net472 | 0.000734ns | 0.000525ns | 0.00203ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CharSliceBenchmark - Faster 🎉 More allocations ⚠️
Faster 🎉 in #7656
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0
1.150
915,649.52
796,241.41
More allocations ⚠️ in #7656
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1
0 b
1 B
1 B
∞
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0
1 B
4 B
3 B
300.00%
| Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 | 1.150 | 915,649.52 | 796,241.41 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 | 0 b | 1 B | 1 B | ∞ |
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 | 1 B | 4 B | 3 B | 300.00% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | OriginalCharSlice |
net6.0 | 1.94ms | 6.49μs | 25.2μs | 0 | 0 | 0 | 640.01 KB |
| master | OriginalCharSlice |
netcoreapp3.1 | 2.13ms | 8.84μs | 30.6μs | 0 | 0 | 0 | 640 KB |
| master | OriginalCharSlice |
net472 | 2.67ms | 635ns | 2.37μs | 100 | 0 | 0 | 641.95 KB |
| master | OptimizedCharSlice |
net6.0 | 1.41ms | 203ns | 786ns | 0 | 0 | 0 | 4 B |
| master | OptimizedCharSlice |
netcoreapp3.1 | 1.71ms | 366ns | 1.42μs | 0 | 0 | 0 | 1 B |
| master | OptimizedCharSlice |
net472 | 1.94ms | 184ns | 687ns | 0 | 0 | 0 | 73 B |
| master | OptimizedCharSliceWithPool |
net6.0 | 916μs | 88.3ns | 342ns | 0 | 0 | 0 | 1 B |
| master | OptimizedCharSliceWithPool |
netcoreapp3.1 | 835μs | 221ns | 857ns | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
net472 | 1.15ms | 150ns | 582ns | 0 | 0 | 0 | 47 B |
| #7656 | OriginalCharSlice |
net6.0 | 1.87ms | 2.35μs | 8.81μs | 0 | 0 | 0 | 640.01 KB |
| #7656 | OriginalCharSlice |
netcoreapp3.1 | 2.16ms | 3.14μs | 10.9μs | 0 | 0 | 0 | 640 KB |
| #7656 | OriginalCharSlice |
net472 | 2.72ms | 783ns | 2.82μs | 100 | 0 | 0 | 641.95 KB |
| #7656 | OptimizedCharSlice |
net6.0 | 1.41ms | 99.2ns | 384ns | 0 | 0 | 0 | 4 B |
| #7656 | OptimizedCharSlice |
netcoreapp3.1 | 1.65ms | 262ns | 979ns | 0 | 0 | 0 | 1 B |
| #7656 | OptimizedCharSlice |
net472 | 1.9ms | 286ns | 1.11μs | 0 | 0 | 0 | 73 B |
| #7656 | OptimizedCharSliceWithPool |
net6.0 | 796μs | 47.4ns | 184ns | 0 | 0 | 0 | 4 B |
| #7656 | OptimizedCharSliceWithPool |
netcoreapp3.1 | 815μs | 284ns | 1.1μs | 0 | 0 | 0 | 1 B |
| #7656 | OptimizedCharSliceWithPool |
net472 | 1.15ms | 75.2ns | 291ns | 0 | 0 | 0 | 47 B |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ Same allocations ✔️
Slower ⚠️ in #7656
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1
1.154
655,059.86
755,799.78
Faster 🎉 in #7656
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
1.124
959,090.42
853,322.71
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 | 1.154 | 655,059.86 | 755,799.78 |
| Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 | 1.124 | 959,090.42 | 853,322.71 |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 689μs | 3.51μs | 17.5μs | 0 | 0 | 0 | 41.98 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 664μs | 3.45μs | 16.9μs | 0 | 0 | 0 | 42.08 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 955μs | 5.04μs | 24.7μs | 8.33 | 0 | 0 | 56.36 KB |
| #7656 | WriteAndFlushEnrichedTraces |
net6.0 | 663μs | 1.29μs | 5.61μs | 0 | 0 | 0 | 41.77 KB |
| #7656 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 768μs | 4.39μs | 34.9μs | 0 | 0 | 0 | 41.94 KB |
| #7656 | WriteAndFlushEnrichedTraces |
net472 | 855μs | 2.66μs | 9.95μs | 8.33 | 0 | 0 | 56.42 KB |
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | ExecuteNonQuery |
net6.0 | 1.84μs | 8.61ns | 33.3ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
netcoreapp3.1 | 2.51μs | 0.76ns | 2.84ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
net472 | 2.87μs | 6.68ns | 25.9ns | 0.143 | 0.0143 | 0 | 987 B |
| #7656 | ExecuteNonQuery |
net6.0 | 1.9μs | 0.694ns | 2.6ns | 0 | 0 | 0 | 1.02 KB |
| #7656 | ExecuteNonQuery |
netcoreapp3.1 | 2.71μs | 10.4ns | 40.3ns | 0 | 0 | 0 | 1.02 KB |
| #7656 | ExecuteNonQuery |
net472 | 2.72μs | 2.62ns | 10.2ns | 0.148 | 0.0134 | 0 | 987 B |
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | CallElasticsearch |
net6.0 | 1.83μs | 1.51ns | 5.85ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
netcoreapp3.1 | 2.27μs | 10.2ns | 39.6ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
net472 | 3.59μs | 2.09ns | 8.08ns | 0.162 | 0 | 0 | 1.04 KB |
| master | CallElasticsearchAsync |
net6.0 | 1.89μs | 0.897ns | 3.36ns | 0 | 0 | 0 | 1.01 KB |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 2.57μs | 7.57ns | 29.3ns | 0 | 0 | 0 | 1.08 KB |
| master | CallElasticsearchAsync |
net472 | 3.71μs | 2.18ns | 8.44ns | 0.166 | 0 | 0 | 1.1 KB |
| #7656 | CallElasticsearch |
net6.0 | 1.79μs | 5.4ns | 20.2ns | 0 | 0 | 0 | 1.03 KB |
| #7656 | CallElasticsearch |
netcoreapp3.1 | 2.34μs | 2.22ns | 8.3ns | 0 | 0 | 0 | 1.03 KB |
| #7656 | CallElasticsearch |
net472 | 3.52μs | 4.41ns | 17.1ns | 0.159 | 0 | 0 | 1.04 KB |
| #7656 | CallElasticsearchAsync |
net6.0 | 1.92μs | 4.44ns | 17.2ns | 0 | 0 | 0 | 1.01 KB |
| #7656 | CallElasticsearchAsync |
netcoreapp3.1 | 2.5μs | 10.6ns | 41ns | 0 | 0 | 0 | 1.08 KB |
| #7656 | CallElasticsearchAsync |
net472 | 3.78μs | 2.53ns | 9.48ns | 0.171 | 0 | 0 | 1.1 KB |
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | ExecuteAsync |
net6.0 | 1.91μs | 1.19ns | 4.6ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
netcoreapp3.1 | 2.39μs | 1.34ns | 5ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
net472 | 2.6μs | 5.55ns | 21.5ns | 0.142 | 0 | 0 | 915 B |
| #7656 | ExecuteAsync |
net6.0 | 2.03μs | 5.51ns | 21.3ns | 0 | 0 | 0 | 952 B |
| #7656 | ExecuteAsync |
netcoreapp3.1 | 2.32μs | 9.18ns | 35.6ns | 0 | 0 | 0 | 952 B |
| #7656 | ExecuteAsync |
net472 | 2.51μs | 1.57ns | 5.88ns | 0.138 | 0 | 0 | 915 B |
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendAsync |
net6.0 | 6.82μs | 4.35ns | 16.9ns | 0 | 0 | 0 | 2.36 KB |
| master | SendAsync |
netcoreapp3.1 | 8.36μs | 20.2ns | 75.4ns | 0 | 0 | 0 | 2.9 KB |
| master | SendAsync |
net472 | 12.5μs | 5.15ns | 18.6ns | 0.499 | 0 | 0 | 3.18 KB |
| #7656 | SendAsync |
net6.0 | 6.91μs | 15ns | 54ns | 0 | 0 | 0 | 2.36 KB |
| #7656 | SendAsync |
netcoreapp3.1 | 8.46μs | 19.9ns | 77.2ns | 0 | 0 | 0 | 2.9 KB |
| #7656 | SendAsync |
net472 | 12.2μs | 7.99ns | 29.9ns | 0.488 | 0 | 0 | 3.18 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Faster 🎉 Fewer allocations 🎉
Faster 🎉 in #7656
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1
1.251
519,200.00
414,900.00
Fewer allocations 🎉 in #7656
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0
277.58 KB
273.29 KB
-4.3 KB
-1.55%
| Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 | 1.251 | 519,200.00 | 414,900.00 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 | 277.58 KB | 273.29 KB | -4.3 KB | -1.55% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StringConcatBenchmark |
net6.0 | 45μs | 264ns | 2.41μs | 0 | 0 | 0 | 43.44 KB |
| master | StringConcatBenchmark |
netcoreapp3.1 | 50μs | 291ns | 2.31μs | 0 | 0 | 0 | 42.64 KB |
| master | StringConcatBenchmark |
net472 | 57.2μs | 223ns | 865ns | 0 | 0 | 0 | 57.34 KB |
| master | StringConcatAspectBenchmark |
net6.0 | 464μs | 1.58μs | 5.49μs | 0 | 0 | 0 | 277.58 KB |
| master | StringConcatAspectBenchmark |
netcoreapp3.1 | 519μs | 1.31μs | 4.55μs | 0 | 0 | 0 | 275.62 KB |
| master | StringConcatAspectBenchmark |
net472 | 405μs | 2.27μs | 14.4μs | 0 | 0 | 0 | 278.53 KB |
| #7656 | StringConcatBenchmark |
net6.0 | 41.3μs | 194ns | 698ns | 0 | 0 | 0 | 43.46 KB |
| #7656 | StringConcatBenchmark |
netcoreapp3.1 | 51.6μs | 685ns | 6.64μs | 0 | 0 | 0 | 42.81 KB |
| #7656 | StringConcatBenchmark |
net472 | 56.4μs | 252ns | 1.04μs | 0 | 0 | 0 | 57.34 KB |
| #7656 | StringConcatAspectBenchmark |
net6.0 | 476μs | 1.51μs | 5.45μs | 0 | 0 | 0 | 273.29 KB |
| #7656 | StringConcatAspectBenchmark |
netcoreapp3.1 | 440μs | 5.08μs | 49.5μs | 0 | 0 | 0 | 274.55 KB |
| #7656 | StringConcatAspectBenchmark |
net472 | 401μs | 2.28μs | 16.9μs | 0 | 0 | 0 | 278.53 KB |
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 2.65μs | 5.63ns | 21.8ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
netcoreapp3.1 | 3.63μs | 13ns | 50.3ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
net472 | 3.76μs | 3.58ns | 13.9ns | 0.243 | 0 | 0 | 1.64 KB |
| #7656 | EnrichedLog |
net6.0 | 2.5μs | 3.5ns | 13.6ns | 0 | 0 | 0 | 1.7 KB |
| #7656 | EnrichedLog |
netcoreapp3.1 | 3.46μs | 2.52ns | 9.77ns | 0 | 0 | 0 | 1.7 KB |
| #7656 | EnrichedLog |
net472 | 3.82μs | 4.53ns | 17.5ns | 0.247 | 0 | 0 | 1.64 KB |
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 122μs | 32.4ns | 121ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
netcoreapp3.1 | 126μs | 135ns | 488ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
net472 | 166μs | 42.9ns | 155ns | 0 | 0 | 0 | 4.52 KB |
| #7656 | EnrichedLog |
net6.0 | 121μs | 117ns | 451ns | 0 | 0 | 0 | 4.31 KB |
| #7656 | EnrichedLog |
netcoreapp3.1 | 128μs | 363ns | 1.36μs | 0 | 0 | 0 | 4.31 KB |
| #7656 | EnrichedLog |
net472 | 165μs | 57ns | 206ns | 0 | 0 | 0 | 4.51 KB |
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 5.09μs | 5.95ns | 23ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
netcoreapp3.1 | 6.7μs | 21.4ns | 80.2ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
net472 | 7.53μs | 4.72ns | 17ns | 0.3 | 0 | 0 | 2.08 KB |
| #7656 | EnrichedLog |
net6.0 | 4.89μs | 5.38ns | 20.1ns | 0 | 0 | 0 | 2.26 KB |
| #7656 | EnrichedLog |
netcoreapp3.1 | 6.81μs | 15.5ns | 59.9ns | 0 | 0 | 0 | 2.26 KB |
| #7656 | EnrichedLog |
net472 | 7.7μs | 8.55ns | 33.1ns | 0.307 | 0 | 0 | 2.08 KB |
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendReceive |
net6.0 | 2μs | 8.74ns | 33.9ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
netcoreapp3.1 | 2.64μs | 7.26ns | 28.1ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
net472 | 3.12μs | 4.59ns | 17.8ns | 0.187 | 0 | 0 | 1.2 KB |
| #7656 | SendReceive |
net6.0 | 2.09μs | 6.27ns | 24.3ns | 0 | 0 | 0 | 1.2 KB |
| #7656 | SendReceive |
netcoreapp3.1 | 2.56μs | 13ns | 56.9ns | 0 | 0 | 0 | 1.2 KB |
| #7656 | SendReceive |
net472 | 3μs | 1.34ns | 5.21ns | 0.181 | 0 | 0 | 1.2 KB |
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 4.32μs | 8.51ns | 31.8ns | 0 | 0 | 0 | 1.58 KB |
| master | EnrichedLog |
netcoreapp3.1 | 5.58μs | 15.8ns | 56.8ns | 0 | 0 | 0 | 1.63 KB |
| master | EnrichedLog |
net472 | 6.44μs | 9.1ns | 35.2ns | 0.322 | 0 | 0 | 2.03 KB |
| #7656 | EnrichedLog |
net6.0 | 4.12μs | 15.2ns | 57ns | 0 | 0 | 0 | 1.58 KB |
| #7656 | EnrichedLog |
netcoreapp3.1 | 5.33μs | 12.4ns | 48.2ns | 0 | 0 | 0 | 1.63 KB |
| #7656 | EnrichedLog |
net472 | 6.4μs | 4.66ns | 17.4ns | 0.319 | 0 | 0 | 2.03 KB |
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartFinishSpan |
net6.0 | 758ns | 2.3ns | 8.91ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
netcoreapp3.1 | 948ns | 3.97ns | 15.4ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
net472 | 894ns | 0.427ns | 1.66ns | 0.09 | 0 | 0 | 578 B |
| master | StartFinishScope |
net6.0 | 905ns | 4.84ns | 26.1ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
netcoreapp3.1 | 1.18μs | 6ns | 27.5ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
net472 | 1.11μs | 1.07ns | 4.13ns | 0.104 | 0 | 0 | 658 B |
| #7656 | StartFinishSpan |
net6.0 | 752ns | 0.255ns | 0.987ns | 0 | 0 | 0 | 576 B |
| #7656 | StartFinishSpan |
netcoreapp3.1 | 943ns | 2.43ns | 9.41ns | 0 | 0 | 0 | 576 B |
| #7656 | StartFinishSpan |
net472 | 871ns | 0.394ns | 1.47ns | 0.0877 | 0 | 0 | 578 B |
| #7656 | StartFinishScope |
net6.0 | 889ns | 0.237ns | 0.916ns | 0 | 0 | 0 | 696 B |
| #7656 | StartFinishScope |
netcoreapp3.1 | 1.16μs | 5.07ns | 19.6ns | 0 | 0 | 0 | 696 B |
| #7656 | StartFinishScope |
net472 | 1.05μs | 0.426ns | 1.65ns | 0.1 | 0 | 0 | 658 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunOnMethodBegin |
net6.0 | 1.09μs | 5.69ns | 29.6ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 1.48μs | 6.54ns | 24.5ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
net472 | 1.41μs | 3.39ns | 13.1ns | 0.0992 | 0 | 0 | 658 B |
| #7656 | RunOnMethodBegin |
net6.0 | 1.04μs | 5.48ns | 27.4ns | 0 | 0 | 0 | 696 B |
| #7656 | RunOnMethodBegin |
netcoreapp3.1 | 1.38μs | 6.78ns | 28.8ns | 0 | 0 | 0 | 696 B |
| #7656 | RunOnMethodBegin |
net472 | 1.42μs | 2.18ns | 8.43ns | 0.0993 | 0 | 0 | 658 B |
|
As we are seeing flake on the Windows tests related to the docker image I've made https://datadoghq.atlassian.net/browse/APMLP-559 @link04 has this https://datadoghq.atlassian.net/browse/APMAPI-1688 to get the tests re-enabled |
## Summary of changes Comments out the start / stop test agent as we are hitting unauthenticated Docker rate limits as it pulls in a later version that the VM doesn't yet have generalized on it. The tests do not yet run on Windows due to flake we were seeing, so should be no harm. ## Reason for change This is to get CI green again sooner rather than later ``` Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 10/21/2025 6:15 PM snapshots test-agent.windows Pulling test-agent.windows Warning Sending build context to Docker daemon 9.166kB Step 1/5 : FROM python:3.10.5-windowsservercore-ltsc2022 toomanyrequests: You have reached your unauthenticated pull rate limit. https://www.docker.com/increase-rate-limit ``` ## Implementation details Commented out the docker steps in the pipeline. ## Test coverage The tests run on Linux only at the moment, so we should have the same level of testing. Have not tested this, will see if this resolves it hopefully. ## Other details <!-- Fixes #{issue} --> I thought that #7656 would just cause the tests to be a bit slower as they'd need to pull from Docker for a bit as we worked on updating the VMs, but didn't realize we'd hit an unauthenticated rate limit. Will prioritize updating the VMs with this image to get this working again. **EDIT** I forgot that we skipped running on Windows for the above reason and for other flake we were attempting to address as well, so we don't have as much of a push <!--⚠️ Note: Where possible, please obtain 2 approvals prior to merging. Unless CODEOWNERS specifies otherwise, for external teams it is typically best to have one review from a team member, and one review from apm-dotnet. Trivial changes do not require 2 reviews. MergeQueue is NOT enabled in this repository. If you have write access to the repo, the PR has 1-2 approvals (see above), and all of the required checks have passed, you can use the Squash and Merge button to merge the PR. If you don't have write access, or you need help, reach out in the #apm-dotnet channel in Slack. -->
Summary of changes
Making use of the dd-apm-test-agent container to enable OTLP metrics support for GRPC and HTTP, then gets then as JSON the container for snapshot validation.
Reason for change
To easily and more reliably test GRPC and ongoing OTLP support and validation in the .NET tracer without needing to build GRPC servers or change our agent for each new signal we plan to support.
Implementation details
Added the container to run for the integrations tests in the corresponding host name making use of either port
4317or 4318`:test/session/clearto clear the session at the start of the tests/test/session/metricsendpoint for the generated metricsTest coverage
Updated the snapshots format but the same 4 should pass even for GRPC now that added to run for OTEL.
Other details
APMAPI-1678