mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-05 04:34:37 +08:00
Add OpenTelemetery gem [SCI-12179]
This commit is contained in:
parent
4d33953f0c
commit
0b34b17630
3 changed files with 101 additions and 24 deletions
6
Gemfile
6
Gemfile
|
@ -70,7 +70,6 @@ gem 'rubyzip', '>= 2.3.0' # will load new rubyzip version
|
|||
gem 'scenic', '~> 1.4'
|
||||
gem 'sdoc', '~> 1.0', group: :doc
|
||||
gem 'silencer' # Silence certain Rails logs
|
||||
gem 'sneaky-save', git: 'https://github.com/einzige/sneaky-save'
|
||||
gem 'turbolinks', '~> 5.2.0'
|
||||
gem 'underscore-rails'
|
||||
gem 'wicked_pdf'
|
||||
|
@ -95,8 +94,11 @@ gem 'js-routes'
|
|||
gem 'tailwindcss-rails', '~> 2.4'
|
||||
|
||||
gem 'base62' # Used for smart annotations
|
||||
gem 'datadog'
|
||||
gem 'newrelic_rpm'
|
||||
gem 'opentelemetry-exporter-otlp'
|
||||
gem 'opentelemetry-instrumentation-rails'
|
||||
gem 'opentelemetry-propagator-xray'
|
||||
gem 'opentelemetry-sdk'
|
||||
|
||||
# Permission helper Gem
|
||||
gem 'canaid', git: 'https://github.com/scinote-eln/canaid'
|
||||
|
|
101
Gemfile.lock
101
Gemfile.lock
|
@ -1,10 +1,3 @@
|
|||
GIT
|
||||
remote: https://github.com/einzige/sneaky-save
|
||||
revision: ee71d0a00cd4ecdd575bd2a9aa8b8693915f4871
|
||||
specs:
|
||||
sneaky-save (0.1.3)
|
||||
activerecord (>= 3.2.0)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/scinote-eln/canaid
|
||||
revision: bba1b817d1c9b0c7e0440a83d0f62848aabc0a1b
|
||||
|
@ -292,13 +285,6 @@ GEM
|
|||
activerecord (>= 5.a)
|
||||
database_cleaner-core (~> 2.0.0)
|
||||
database_cleaner-core (2.0.1)
|
||||
datadog (2.14.0)
|
||||
datadog-ruby_core_source (~> 3.4)
|
||||
libdatadog (~> 16.0.1.1.0)
|
||||
libddwaf (~> 1.21.0.0.1)
|
||||
logger
|
||||
msgpack
|
||||
datadog-ruby_core_source (3.4.0)
|
||||
date (3.4.1)
|
||||
debug_inspector (1.1.0)
|
||||
deface (1.9.0)
|
||||
|
@ -361,6 +347,14 @@ GEM
|
|||
raabro (~> 1.4)
|
||||
globalid (1.2.1)
|
||||
activesupport (>= 6.1)
|
||||
google-protobuf (4.31.1-arm64-darwin)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.31.1-x86_64-linux-gnu)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
googleapis-common-protos-types (1.20.0)
|
||||
google-protobuf (>= 3.18, < 5.a)
|
||||
graphviz (1.2.1)
|
||||
process-pipeline
|
||||
grover (1.2.3)
|
||||
|
@ -430,12 +424,6 @@ GEM
|
|||
activerecord
|
||||
kaminari-core (= 1.2.2)
|
||||
kaminari-core (1.2.2)
|
||||
libdatadog (16.0.1.1.0)
|
||||
libdatadog (16.0.1.1.0-x86_64-linux)
|
||||
libddwaf (1.21.0.0.1-arm64-darwin)
|
||||
ffi (~> 1.0)
|
||||
libddwaf (1.21.0.0.1-x86_64-linux)
|
||||
ffi (~> 1.0)
|
||||
listen (3.8.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
|
@ -536,6 +524,73 @@ GEM
|
|||
validate_email
|
||||
validate_url
|
||||
webfinger (~> 2.0)
|
||||
opentelemetry-api (1.5.0)
|
||||
opentelemetry-common (0.22.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-exporter-otlp (0.30.0)
|
||||
google-protobuf (>= 3.18)
|
||||
googleapis-common-protos-types (~> 1.3)
|
||||
opentelemetry-api (~> 1.1)
|
||||
opentelemetry-common (~> 0.20)
|
||||
opentelemetry-sdk (~> 1.2)
|
||||
opentelemetry-semantic_conventions
|
||||
opentelemetry-instrumentation-action_mailer (0.4.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-active_support (~> 0.7)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-action_pack (0.12.3)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-rack (~> 0.21)
|
||||
opentelemetry-instrumentation-action_view (0.9.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-active_support (~> 0.7)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-active_job (0.8.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-active_record (0.9.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-active_storage (0.1.1)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-active_support (~> 0.7)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-active_support (0.8.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-base (0.23.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-common (~> 0.21)
|
||||
opentelemetry-registry (~> 0.1)
|
||||
opentelemetry-instrumentation-concurrent_ruby (0.22.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-rack (0.26.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-rails (0.36.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-action_mailer (~> 0.4.0)
|
||||
opentelemetry-instrumentation-action_pack (~> 0.12.0)
|
||||
opentelemetry-instrumentation-action_view (~> 0.9.0)
|
||||
opentelemetry-instrumentation-active_job (~> 0.8.0)
|
||||
opentelemetry-instrumentation-active_record (~> 0.9.0)
|
||||
opentelemetry-instrumentation-active_storage (~> 0.1.0)
|
||||
opentelemetry-instrumentation-active_support (~> 0.8.0)
|
||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||
opentelemetry-instrumentation-concurrent_ruby (~> 0.22.0)
|
||||
opentelemetry-propagator-xray (0.24.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-registry (0.4.0)
|
||||
opentelemetry-api (~> 1.1)
|
||||
opentelemetry-sdk (1.8.0)
|
||||
opentelemetry-api (~> 1.1)
|
||||
opentelemetry-common (~> 0.20)
|
||||
opentelemetry-registry (~> 0.2)
|
||||
opentelemetry-semantic_conventions
|
||||
opentelemetry-semantic_conventions (1.11.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
orm_adapter (0.5.0)
|
||||
ostruct (0.6.0)
|
||||
overcommit (0.60.0)
|
||||
|
@ -836,7 +891,6 @@ DEPENDENCIES
|
|||
cssbundling-rails
|
||||
cucumber-rails
|
||||
database_cleaner
|
||||
datadog
|
||||
deface (~> 1.9)
|
||||
delayed_job_active_record
|
||||
devise (~> 4.9.4)
|
||||
|
@ -876,6 +930,10 @@ DEPENDENCIES
|
|||
omniauth-rails_csrf_protection (~> 1.0)
|
||||
omniauth-saml
|
||||
omniauth_openid_connect
|
||||
opentelemetry-exporter-otlp
|
||||
opentelemetry-instrumentation-rails
|
||||
opentelemetry-propagator-xray
|
||||
opentelemetry-sdk
|
||||
overcommit
|
||||
pg (~> 1.5)
|
||||
pg_search
|
||||
|
@ -907,7 +965,6 @@ DEPENDENCIES
|
|||
shoulda-matchers
|
||||
silencer
|
||||
simplecov
|
||||
sneaky-save!
|
||||
sprockets-rails
|
||||
tailwindcss-rails (~> 2.4)
|
||||
timecop
|
||||
|
|
18
config/initializers/opentelemetry.rb
Normal file
18
config/initializers/opentelemetry.rb
Normal file
|
@ -0,0 +1,18 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
if ENV['OTEL_ENABLED'] == 'true'
|
||||
require 'opentelemetry/sdk'
|
||||
require 'opentelemetry/instrumentation/rails'
|
||||
|
||||
OpenTelemetry::SDK.configure do |config|
|
||||
if ENV['OTEL_XRAY_ENABLED'] == 'true'
|
||||
require 'opentelemetry-propagator-xray'
|
||||
# The X-Ray ID Generator generates spans with X-Ray backend compliant IDs
|
||||
config.id_generator = OpenTelemetry::Propagator::XRay::IDGenerator
|
||||
# The X-Ray Propagator injects the X-Ray Tracing Header into downstream calls
|
||||
config.propagators = [OpenTelemetry::Propagator::XRay::TextMapPropagator.new]
|
||||
end
|
||||
|
||||
config.use_all # enables all instrumentation!
|
||||
end
|
||||
end
|
Loading…
Add table
Reference in a new issue