Module: Labkit Private
- Defined in:
- lib/gitlab-labkit.rb,
lib/labkit/fips.rb,
lib/labkit/fields.rb,
lib/labkit/system.rb,
lib/labkit/context.rb,
lib/labkit/logging.rb,
lib/labkit/metrics.rb,
lib/labkit/tracing.rb,
lib/labkit/middleware.rb,
lib/labkit/correlation.rb,
lib/labkit/logging/grpc.rb,
lib/labkit/metrics/null.rb,
lib/labkit/tracing/grpc.rb,
lib/labkit/tracing/rails.rb,
lib/labkit/tracing/redis.rb,
lib/labkit/metrics/client.rb,
lib/labkit/application_sli.rb,
lib/labkit/excon_publisher.rb,
lib/labkit/middleware/rack.rb,
lib/labkit/tracing/factory.rb,
lib/labkit/tracing/railtie.rb,
lib/labkit/correlation/grpc.rb,
lib/labkit/metrics/registry.rb,
lib/labkit/logging/sanitizer.rb,
lib/labkit/middleware/sidekiq.rb,
lib/labkit/net_http_publisher.rb,
lib/labkit/logging/json_logger.rb,
lib/labkit/user_experience_sli.rb,
lib/labkit/httpclient_publisher.rb,
lib/labkit/application_sli/apdex.rb,
lib/labkit/metrics/rack_exporter.rb,
lib/labkit/tracing/external_http.rb,
lib/labkit/tracing/tracing_utils.rb,
lib/labkit/tracing/jaeger_factory.rb,
lib/labkit/tracing/tracing_common.rb,
lib/labkit/logging/field_validator.rb,
lib/labkit/tracing/auto_initialize.rb,
lib/labkit/tracing/rack_middleware.rb,
lib/labkit/json_schema/ref_resolver.rb,
lib/labkit/tracing/grpc_interceptor.rb,
lib/labkit/user_experience_sli/null.rb,
lib/labkit/middleware/sidekiq/client.rb,
lib/labkit/middleware/sidekiq/server.rb,
lib/labkit/tracing/rails/action_view.rb,
lib/labkit/user_experience_sli/error.rb,
lib/labkit/application_sli/error_rate.rb,
lib/labkit/correlation/correlation_id.rb,
lib/labkit/middleware/sidekiq/context.rb,
lib/labkit/middleware/sidekiq/tracing.rb,
lib/labkit/tracing/adapters/base_span.rb,
lib/labkit/tracing/rails/active_record.rb,
lib/labkit/user_experience_sli/current.rb,
lib/labkit/correlation/grpc/grpc_common.rb,
lib/labkit/tracing/adapters/base_tracer.rb,
lib/labkit/tracing/open_tracing_factory.rb,
lib/labkit/tracing/rails/active_support.rb,
lib/labkit/user_experience_sli/registry.rb,
lib/labkit/tracing/abstract_instrumenter.rb,
lib/labkit/logging/field_validator/config.rb,
lib/labkit/tracing/open_telemetry_factory.rb,
lib/labkit/user_experience_sli/experience.rb,
lib/labkit/logging/grpc/server_interceptor.rb,
lib/labkit/tracing/grpc/client_interceptor.rb,
lib/labkit/tracing/grpc/server_interceptor.rb,
lib/labkit/tracing/redis/redis_interceptor.rb,
lib/labkit/logging/field_validator/registry.rb,
lib/labkit/middleware/sidekiq/context/client.rb,
lib/labkit/middleware/sidekiq/context/server.rb,
lib/labkit/middleware/sidekiq/tracing/client.rb,
lib/labkit/middleware/sidekiq/tracing/server.rb,
lib/labkit/tracing/adapters/opentracing_span.rb,
lib/labkit/correlation/grpc/client_interceptor.rb,
lib/labkit/correlation/grpc/server_interceptor.rb,
lib/labkit/tracing/adapters/opentelemetry_span.rb,
lib/labkit/tracing/adapters/opentracing_tracer.rb,
lib/labkit/tracing/rails/action_view/subscriber.rb,
lib/labkit/tracing/adapters/opentelemetry_tracer.rb,
lib/labkit/middleware/sidekiq/user_experience_sli.rb,
lib/labkit/tracing/rails/active_record/subscriber.rb,
lib/labkit/tracing/redis/redis_interceptor_helper.rb,
lib/labkit/logging/field_validator/log_interceptor.rb,
lib/labkit/rspec/matchers/user_experience_matchers.rb,
lib/labkit/tracing/rails/active_support/subscriber.rb,
lib/labkit/middleware/sidekiq/tracing/sidekiq_common.rb,
lib/labkit/tracing/external_http/request_instrumenter.rb,
lib/labkit/tracing/rails/active_record/sql_instrumenter.rb,
lib/labkit/middleware/sidekiq/user_experience_sli/client.rb,
lib/labkit/middleware/sidekiq/user_experience_sli/server.rb,
lib/labkit/tracing/rails/active_support/cache_read_instrumenter.rb,
lib/labkit/tracing/rails/action_view/render_partial_instrumenter.rb,
lib/labkit/tracing/rails/active_support/cache_write_instrumenter.rb,
lib/labkit/tracing/rails/action_view/render_template_instrumenter.rb,
lib/labkit/tracing/rails/active_support/cache_delete_instrumenter.rb,
lib/labkit/tracing/rails/action_view/render_collection_instrumenter.rb,
lib/labkit/tracing/rails/active_support/cache_generate_instrumenter.rb,
lib/labkit/tracing/rails/active_support/cache_fetch_hit_instrumenter.rb
Overview
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
Internal adapter for OpenTelemetry tracer compatibility. This is not part of the public Labkit API.
Applications should use OpenTelemetry APIs directly via:
- Labkit::Tracing.tracer (returns OpenTelemetry::Trace::Tracer)
- Labkit::Tracing.current_span (returns OpenTelemetry::Trace::Span)
These adapters exist for:
- Internal Labkit instrumentation (Rails, Redis, etc.)
- Backward compatibility with OpenTracing connections
Defined Under Namespace
Modules: ApplicationSli, Correlation, Digest, Fields, HTTPClientPublisher, JsonSchema, Logging, Metrics, Middleware, NetHttpPublisher, RSpec, System, Tracing, UserExperienceSli Classes: Context, ExconPublisher, FIPS
Constant Summary collapse
- EXTERNAL_HTTP_NOTIFICATION_TOPIC =
Publishers to publish notifications whenever a HTTP reqeust is made. A broadcasted notification’s payload in topic “request.external_http” includes:
+ method (String): "GET" + code (String): "200" # This is the status code read directly from HTTP response + duration (Float - seconds): 0.234 + host (String): "gitlab.com" + port (Integer): 80, + path (String): "/gitlab-org/gitlab" + scheme (String): "https" + query (String): "field_a=1&field_b=2" + fragment (String): "issue-number-1" + proxy_host (String - Optional): "proxy.gitlab.com" + proxy_port (Integer - Optional): 80 + exception (Array<String> - Optional): ["Net::ReadTimeout", "Net::ReadTimeout with #<TCPSocket:(closed)>"] + exception_object (Error Object - Optional): #<Net::ReadTimeout: Net::ReadTimeout>Usage:
ActiveSupport::Notifications.subscribe “request.external_http” do |name, started, finished, unique_id, data|
puts "#{name} | #{started} | #{finished} | #{unique_id} | #{data.inspect}"end
"request.external_http"- CoveredExperience =
Backward compatibility alias for the old module name. This alias is kept to maintain compatibility with existing code. See: gitlab.com/gitlab-com/gl-infra/observability/team/-/issues/4347
UserExperienceSli