io.opentelemetry.sdk.metrics.internal.state.EmptyMetricStorage Maven / Gradle / Ivy
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.sdk.metrics.internal.state;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
import io.opentelemetry.sdk.metrics.data.MetricData;
import io.opentelemetry.sdk.metrics.internal.aggregator.EmptyMetricData;
import io.opentelemetry.sdk.metrics.internal.descriptor.MetricDescriptor;
import io.opentelemetry.sdk.resources.Resource;
final class EmptyMetricStorage implements SynchronousMetricStorage {
static final EmptyMetricStorage INSTANCE = new EmptyMetricStorage();
private EmptyMetricStorage() {}
private final MetricDescriptor descriptor = MetricDescriptor.create("", "", "");
@Override
public MetricDescriptor getMetricDescriptor() {
return descriptor;
}
@Override
public MetricData collect(
Resource resource,
InstrumentationScopeInfo instrumentationScopeInfo,
long startEpochNanos,
long epochNanos) {
return EmptyMetricData.getInstance();
}
@Override
public void recordLong(long value, Attributes attributes, Context context) {}
@Override
public void recordDouble(double value, Attributes attributes, Context context) {}
@Override
public boolean isEnabled() {
return false;
}
}