Skip to content

Delta temporality is causing issues in Grafana Mimir #47

@musq

Description

@musq
  • Is there a way to switch to Cumulative temporality in the SDK itself?
  • I have even tried the experimental otelcol.processor.deltatocumulative component in Grafana Alloy, but it doesn't actually do any cumulation, and just renames the temporality from Delta to Cumulative 🤦

When I try to send custom metrics via my pipeline (Laravel App -> Grafana Alloy -> Grafana Mimir), Grafana Alloy throws this error:

ts=2025-09-19T14:10:35.164886803Z level=error msg="Exporting failed. Dropping data." component_path=/ component_id=otelcol.exporter.otlphttp.mimir error="not retryable error: Permanent error: rpc error: code = InvalidArgument desc = error exporting items, request to http://mimir:9009/otlp/v1/metrics responded with HTTP Status Code 400, Message=otlp parse error: invalid temporality and type combination for metric \"server_api_latency\"; invalid temporality and type combination for metric \"server_api_errors_count\"; invalid temporality and type combination for metric \"my-meter\", Details=[]" dropped_items=3

My OTLP Payload:

{
    "resource": {
        "attributes": {
            "service.name": "xyz",
            "host.name": "Ashishs-MacBook-Air.local",
            "host.arch": "arm64",
            "host.id": "C71EB3AF-3A47-5ECA-A62A-7A48F60B21F3",
            "os.type": "darwin",
            "os.description": "24.6.0",
            "os.name": "Darwin",
            "os.version": "Darwin Kernel Version 24.6.0: Mon Jul 14 11:29:54 PDT 2025; root:xnu-11417.140.69~1\/RELEASE_ARM64_T8122",
            "process.runtime.name": "cli-server",
            "process.runtime.version": "8.2.29",
            "process.pid": 88678,
            "process.executable.path": "\/Users\/ashish\/Library\/Application Support\/Herd\/bin\/php82",
            "process.owner": "ashish",
            "telemetry.sdk.name": "opentelemetry",
            "telemetry.sdk.language": "php",
            "telemetry.sdk.version": "1.7.1",
            "service.instance.id": "27322762-7652-435f-9358-dde27cb0090c"
        },
        "dropped_attributes_count": 0
    },
    "scope": {
        "name": "laravel-opentelemetry",
        "version": "1.11.0",
        "attributes": [],
        "dropped_attributes_count": 0,
        "schema_url": "https:\/\/opentelemetry.io\/schemas\/1.32.0",
        "metrics": [
            {
                "name": "server_api_latency",
                "description": "API latency tracking meter",
                "unit": "ms",
                "data": {
                    "dataPoints": [
                        {
                            "count": 1,
                            "sum": 60.710291,
                            "min": 60.710291,
                            "max": 60.710291,
                            "bucketCounts": [
                                0,
                                0,
                                0,
                                0,
                                0,
                                1,
                                0,
                                0,
                                0,
                                0,
                                0
                            ],
                            "explicitBounds": [
                                0,
                                5,
                                10,
                                25,
                                50,
                                75,
                                100,
                                250,
                                500,
                                1000
                            ],
                            "attributes": {
                                "route": "\/api\/me",
                                "status_code": 200
                            },
                            "startTimestamp": 1758291366977506043,
                            "timestamp": 1758291367038475918,
                            "exemplars": [
                                {
                                    "value": 60.710291,
                                    "timestamp": 1758291367038033251,
                                    "attributes": [],
                                    "traceId": "a92b2d1e4344578965a5d58ce3a7c9ca",
                                    "spanId": "5fe66f8c53fedd98"
                                }
                            ]
                        }
                    ],
                    "temporality": "Delta"
                }
            },
            {
                "name": "server_api_errors_count",
                "description": "API errors counting meter",
                "unit": "times",
                "data": {
                    "dataPoints": [
                        {
                            "value": 1,
                            "attributes": {
                                "route": "\/api\/me",
                                "status_code": 200
                            },
                            "startTimestamp": 1758291366977506043,
                            "timestamp": 1758291367038475918,
                            "exemplars": [
                                {
                                    "value": 1,
                                    "timestamp": 1758291367038063043,
                                    "attributes": [],
                                    "traceId": "a92b2d1e4344578965a5d58ce3a7c9ca",
                                    "spanId": "5fe66f8c53fedd98"
                                }
                            ]
                        }
                    ],
                    "temporality": "Delta",
                    "monotonic": true
                }
            },
            {
                "name": "my-meter",
                "description": "my custom meter",
                "unit": "times",
                "data": {
                    "dataPoints": [
                        {
                            "value": 1,
                            "attributes": [],
                            "startTimestamp": 1758291366977506043,
                            "timestamp": 1758291367038475918,
                            "exemplars": [
                                {
                                    "value": 1,
                                    "timestamp": 1758291367038121376,
                                    "attributes": [],
                                    "traceId": "a92b2d1e4344578965a5d58ce3a7c9ca",
                                    "spanId": "5fe66f8c53fedd98"
                                }
                            ]
                        }
                    ],
                    "temporality": "Delta",
                    "monotonic": true
                }
            }
        ]
    }
}
{
    "resource": {
        "attributes": {
            "service.name": "xyz",
            "host.name": "Ashishs-MacBook-Air.local",
            "host.arch": "arm64",
            "host.id": "C71EB3AF-3A47-5ECA-A62A-7A48F60B21F3",
            "os.type": "darwin",
            "os.description": "24.6.0",
            "os.name": "Darwin",
            "os.version": "Darwin Kernel Version 24.6.0: Mon Jul 14 11:29:54 PDT 2025; root:xnu-11417.140.69~1\/RELEASE_ARM64_T8122",
            "process.runtime.name": "cli-server",
            "process.runtime.version": "8.2.29",
            "process.pid": 88678,
            "process.executable.path": "\/Users\/ashish\/Library\/Application Support\/Herd\/bin\/php82",
            "process.owner": "ashish",
            "telemetry.sdk.name": "opentelemetry",
            "telemetry.sdk.language": "php",
            "telemetry.sdk.version": "1.7.1",
            "service.instance.id": "27322762-7652-435f-9358-dde27cb0090c"
        },
        "dropped_attributes_count": 0
    },
    "scope": {
        "name": "laravel-opentelemetry",
        "version": "1.11.0",
        "attributes": [],
        "dropped_attributes_count": 0,
        "schema_url": "https:\/\/opentelemetry.io\/schemas\/1.32.0",
        "metrics": [
            {
                "name": "server_api_latency",
                "description": "API latency tracking meter",
                "unit": "ms",
                "data": {
                    "dataPoints": [],
                    "temporality": "Delta"
                }
            },
            {
                "name": "server_api_errors_count",
                "description": "API errors counting meter",
                "unit": "times",
                "data": {
                    "dataPoints": [],
                    "temporality": "Delta",
                    "monotonic": true
                }
            },
            {
                "name": "my-meter",
                "description": "my custom meter",
                "unit": "times",
                "data": {
                    "dataPoints": [],
                    "temporality": "Delta",
                    "monotonic": true
                }
            }
        ]
    }
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions