All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.opentelemetry.exporter.prometheus.internal.PrometheusMetricReaderProvider Maven / Gradle / Ivy

/*
 * Copyright The OpenTelemetry Authors
 * SPDX-License-Identifier: Apache-2.0
 */

package io.opentelemetry.exporter.prometheus.internal;

import io.opentelemetry.exporter.internal.ExporterBuilderUtil;
import io.opentelemetry.exporter.prometheus.PrometheusHttpServer;
import io.opentelemetry.exporter.prometheus.PrometheusHttpServerBuilder;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.internal.ConfigurableMetricReaderProvider;
import io.opentelemetry.sdk.metrics.export.MetricReader;

/**
 * SPI implementation for {@link PrometheusHttpServer}.
 *
 * 

This class is internal and is hence not for public use. Its APIs are unstable and can change * at any time. */ public class PrometheusMetricReaderProvider implements ConfigurableMetricReaderProvider { @Override public MetricReader createMetricReader(ConfigProperties config) { PrometheusHttpServerBuilder prometheusBuilder = PrometheusHttpServer.builder(); Integer port = config.getInt("otel.exporter.prometheus.port"); if (port != null) { prometheusBuilder.setPort(port); } String host = config.getString("otel.exporter.prometheus.host"); if (host != null) { prometheusBuilder.setHost(host); } ExporterBuilderUtil.configureExporterMemoryMode(config, prometheusBuilder::setMemoryMode); String defaultHistogramAggregation = config.getString( "otel.java.experimental.exporter.prometheus.metrics.default.histogram.aggregation"); if (defaultHistogramAggregation != null) { ExporterBuilderUtil.configureHistogramDefaultAggregation( defaultHistogramAggregation, prometheusBuilder::setDefaultAggregationSelector); } return prometheusBuilder.build(); } @Override public String getName() { return "prometheus"; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy