Repository navigation
Stateful broken #983
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingmetricspriority:p0Issues which require immediate action to stop bleedingIssues which require immediate action to stop bleeding
Description
Describe your environment python3.8, broken in master, bisects to #596
Steps to reproduce
# bug.py
import sys
import time
from opentelemetry import metrics
from opentelemetry.sdk.metrics import Counter, MeterProvider, ValueRecorder
from opentelemetry.sdk.metrics.export import ConsoleMetricsExporter
metrics.set_meter_provider(MeterProvider(stateful=True))
meter = metrics.get_meter(__name__)
exporter = ConsoleMetricsExporter()
metrics.get_meter_provider().start_pipeline(meter, exporter, 0.5)
requests_counter = meter.create_metric(
name="requests",
description="number of requests",
unit="1",
value_type=int,
metric_type=Counter,
# label_keys=("environment",),
)
staging_labels = {"environment": "staging"}
while True:
requests_counter.add(25, staging_labels)
requests_counter.add(50, staging_labels)
time.sleep(1)What is the expected behavior?
Metrics output should be increasing constantly (stateful=True)
$ python docs/examples/basic_meter/bug.py
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=150)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=150)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=225)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=225)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=300)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=300)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=375)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=375)What is the actual behavior?
Metrics get reset every collection interval (stateful=False)
$ python docs/examples/basic_meter/bug.py
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)
ConsoleMetricsExporter(data="Counter(name="requests", description="number of requests")", labels="(('environment', 'staging'),)", value=75)Additional context
Bisects to #596 (242d5a7) -- will start digging in from there
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingmetricspriority:p0Issues which require immediate action to stop bleedingIssues which require immediate action to stop bleeding
Activity
fix(http-plugin): strip otel custom http header open-telemetry#983 (o…