MySQL 9.7.0
Source Code Documentation
tm_setup_otel.cc File Reference
#include <opentelemetry/exporters/otlp/otlp_http_client.h>
#include <opentelemetry/metrics/meter.h>
#include <opentelemetry/sdk/common/global_log_handler.h>
#include <opentelemetry/sdk/resource/resource.h>
#include <opentelemetry/semconv/incubating/service_attributes.h>
#include <opentelemetry/exporters/otlp/otlp_http_exporter.h>
#include <opentelemetry/exporters/otlp/otlp_http_exporter_options.h>
#include <opentelemetry/exporters/otlp/otlp_http_exporter_runtime_options.h>
#include <opentelemetry/exporters/otlp/otlp_http_log_record_exporter.h>
#include <opentelemetry/exporters/otlp/otlp_http_log_record_exporter_options.h>
#include <opentelemetry/exporters/otlp/otlp_http_log_record_exporter_runtime_options.h>
#include <opentelemetry/exporters/otlp/otlp_http_metric_exporter.h>
#include <opentelemetry/exporters/otlp/otlp_http_metric_exporter_options.h>
#include <opentelemetry/exporters/otlp/otlp_http_metric_exporter_runtime_options.h>
#include "mysql_version.h"
#include "tm_global.h"
#include "tm_log.h"
#include "tm_otel_log.h"
#include "tm_otel_metric.h"
#include "tm_otel_trace.h"
#include "tm_psi.h"
#include "tm_setup_otel.h"
#include "tm_system_variables.h"
#include "tm_thread_instrumentation.h"

Classes

class  telemetry::MySQLOtelLogHandler
 

Namespaces

namespace  telemetry
 

Functions

static opentelemetry::nostd::shared_ptr< opentelemetry::sdk::common::internal_log::LogHandler > telemetry::g_log_handler (new MySQLOtelLogHandler())
 
void telemetry::setup_internal_logger ()
 
void telemetry::setup_internal_logger_level (unsigned long log_level)
 
static std::string telemetry::tls_option_string (unsigned long value, unsigned long value_for_default)
 Convert a MySQL TLS option (as a system variable enum) to an OpenTelemetry TLS option. More...
 
static void telemetry::merge_resource_attributes (opentelemetry::sdk::resource::ResourceAttributes &attributes, const char *attributes_string)
 
opentelemetry::sdk::resource::Resource telemetry::setup_resource (opentelemetry::sdk::resource::ResourceAttributes &attributes, const char *resource_atrtributes_string)
 
static void telemetry::parse_headers (opentelemetry::exporter::otlp::OtlpHeaders &result, const char *input)
 
static std::unique_ptr< opentelemetry::sdk::trace::SpanExporter > telemetry::setup_otel_otlp_http_exporter (bool json)
 
static std::unique_ptr< opentelemetry::sdk::trace::SpanExporter > telemetry::setup_otel_otlp_exporter ()
 
static std::unique_ptr< opentelemetry::sdk::trace::SpanProcessor > telemetry::setup_otel_batch_processor (std::unique_ptr< opentelemetry::sdk::trace::SpanExporter > exporter)
 
std::shared_ptr< opentelemetry::sdk::trace::TracerProvider > telemetry::setup_otel_tracer_provider (const opentelemetry::sdk::resource::Resource &resource)
 
opentelemetry::nostd::shared_ptr< opentelemetry::trace::Tracer > telemetry::setup_otel_tracer (const std::shared_ptr< opentelemetry::trace::TracerProvider > &provider)
 
std::unique_ptr< opentelemetry::sdk::metrics::PushMetricExporter > telemetry::setup_otel_otlp_http_metric_exporter (bool json)
 
std::unique_ptr< opentelemetry::sdk::metrics::PushMetricExporter > telemetry::setup_otel_otlp_metrics_exporter ()
 
std::unique_ptr< opentelemetry::sdk::metrics::MetricReader > telemetry::setup_otel_metric_reader (std::unique_ptr< opentelemetry::sdk::metrics::PushMetricExporter > exporter, const opentelemetry::sdk::metrics::PeriodicExportingMetricReaderOptions &options, const opentelemetry::sdk::metrics::PeriodicExportingMetricReaderRuntimeOptions &runtime_options)
 
std::unique_ptr< opentelemetry::metrics::MeterProvider > telemetry::setup_otel_meter_provider (const opentelemetry::sdk::resource::Resource &resource, const opentelemetry::sdk::metrics::PeriodicExportingMetricReaderOptions &options, const opentelemetry::sdk::metrics::PeriodicExportingMetricReaderRuntimeOptions &runtime_options)
 
void telemetry::setup_otel_meter_providers (const opentelemetry::sdk::resource::Resource &resource)
 
void telemetry::cleanup_otel_meter_providers ()
 
static std::unique_ptr< opentelemetry::sdk::logs::LogRecordExporter > telemetry::setup_otel_otlp_http_log_exporter (bool json)
 
static std::unique_ptr< opentelemetry::sdk::logs::LogRecordExporter > telemetry::setup_otel_otlp_log_exporter ()
 
static std::unique_ptr< opentelemetry::sdk::logs::LogRecordProcessor > telemetry::setup_otel_batch_log_processor (std::unique_ptr< opentelemetry::sdk::logs::LogRecordExporter > exporter)
 
opentelemetry::nostd::shared_ptr< opentelemetry::sdk::logs::LoggerProvider > telemetry::setup_otel_logger_provider (const opentelemetry::sdk::resource::Resource &resource)
 
opentelemetry::nostd::shared_ptr< opentelemetry::logs::Logger > telemetry::setup_otel_logger (const opentelemetry::nostd::shared_ptr< opentelemetry::sdk::logs::LoggerProvider > &provider)
 

Variables

static const std::string telemetry::mysql_schema_url