Skip to content

Instantly share code, notes, and snippets.

@akahn
Created March 20, 2025 15:21
Show Gist options
  • Save akahn/7ec0c5766ac98b665edeb6e36c9614d7 to your computer and use it in GitHub Desktop.
Save akahn/7ec0c5766ac98b665edeb6e36c9614d7 to your computer and use it in GitHub Desktop.
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'opentelemetry-exporter-otlp', :path => '../opentelemetry-ruby/exporter'
gem 'opentelemetry-exporter-otlp-metrics', :path => '../opentelemetry-ruby/exporter'
gem 'opentelemetry-metrics-sdk', :path => '../opentelemetry-ruby/'
gem 'opentelemetry-sdk', :path => '../opentelemetry-ruby/'
end
require 'opentelemetry-sdk'
require 'opentelemetry-metrics-sdk'
require 'benchmark'
OpenTelemetry::SDK.configure
exporter = OpenTelemetry::SDK::Metrics::Export::ConsoleMetricPullExporter.new
metric_reader = OpenTelemetry::SDK::Metrics::Export::PeriodicMetricReader.new(
export_interval_millis: 2000,
exporter: exporter
)
OpenTelemetry.meter_provider.add_metric_reader(metric_reader)
meter = OpenTelemetry.meter_provider.meter('my_meter')
counter = meter.create_counter('my_counter')
counter.add(1)
puts "Shutting down..."
time_taken = Benchmark.realtime do
metric_reader.shutdown
end
puts "Shutdown completed in #{time_taken.round(3)} seconds."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment