mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-07 21:55:20 +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 'scenic', '~> 1.4'
|
||||||
gem 'sdoc', '~> 1.0', group: :doc
|
gem 'sdoc', '~> 1.0', group: :doc
|
||||||
gem 'silencer' # Silence certain Rails logs
|
gem 'silencer' # Silence certain Rails logs
|
||||||
gem 'sneaky-save', git: 'https://github.com/einzige/sneaky-save'
|
|
||||||
gem 'turbolinks', '~> 5.2.0'
|
gem 'turbolinks', '~> 5.2.0'
|
||||||
gem 'underscore-rails'
|
gem 'underscore-rails'
|
||||||
gem 'wicked_pdf'
|
gem 'wicked_pdf'
|
||||||
|
@ -95,8 +94,11 @@ gem 'js-routes'
|
||||||
gem 'tailwindcss-rails', '~> 2.4'
|
gem 'tailwindcss-rails', '~> 2.4'
|
||||||
|
|
||||||
gem 'base62' # Used for smart annotations
|
gem 'base62' # Used for smart annotations
|
||||||
gem 'datadog'
|
|
||||||
gem 'newrelic_rpm'
|
gem 'newrelic_rpm'
|
||||||
|
gem 'opentelemetry-exporter-otlp'
|
||||||
|
gem 'opentelemetry-instrumentation-rails'
|
||||||
|
gem 'opentelemetry-propagator-xray'
|
||||||
|
gem 'opentelemetry-sdk'
|
||||||
|
|
||||||
# Permission helper Gem
|
# Permission helper Gem
|
||||||
gem 'canaid', git: 'https://github.com/scinote-eln/canaid'
|
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
|
GIT
|
||||||
remote: https://github.com/scinote-eln/canaid
|
remote: https://github.com/scinote-eln/canaid
|
||||||
revision: bba1b817d1c9b0c7e0440a83d0f62848aabc0a1b
|
revision: bba1b817d1c9b0c7e0440a83d0f62848aabc0a1b
|
||||||
|
@ -292,13 +285,6 @@ GEM
|
||||||
activerecord (>= 5.a)
|
activerecord (>= 5.a)
|
||||||
database_cleaner-core (~> 2.0.0)
|
database_cleaner-core (~> 2.0.0)
|
||||||
database_cleaner-core (2.0.1)
|
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)
|
date (3.4.1)
|
||||||
debug_inspector (1.1.0)
|
debug_inspector (1.1.0)
|
||||||
deface (1.9.0)
|
deface (1.9.0)
|
||||||
|
@ -361,6 +347,14 @@ GEM
|
||||||
raabro (~> 1.4)
|
raabro (~> 1.4)
|
||||||
globalid (1.2.1)
|
globalid (1.2.1)
|
||||||
activesupport (>= 6.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)
|
graphviz (1.2.1)
|
||||||
process-pipeline
|
process-pipeline
|
||||||
grover (1.2.3)
|
grover (1.2.3)
|
||||||
|
@ -430,12 +424,6 @@ GEM
|
||||||
activerecord
|
activerecord
|
||||||
kaminari-core (= 1.2.2)
|
kaminari-core (= 1.2.2)
|
||||||
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)
|
listen (3.8.0)
|
||||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
rb-inotify (~> 0.9, >= 0.9.10)
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
|
@ -536,6 +524,73 @@ GEM
|
||||||
validate_email
|
validate_email
|
||||||
validate_url
|
validate_url
|
||||||
webfinger (~> 2.0)
|
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)
|
orm_adapter (0.5.0)
|
||||||
ostruct (0.6.0)
|
ostruct (0.6.0)
|
||||||
overcommit (0.60.0)
|
overcommit (0.60.0)
|
||||||
|
@ -836,7 +891,6 @@ DEPENDENCIES
|
||||||
cssbundling-rails
|
cssbundling-rails
|
||||||
cucumber-rails
|
cucumber-rails
|
||||||
database_cleaner
|
database_cleaner
|
||||||
datadog
|
|
||||||
deface (~> 1.9)
|
deface (~> 1.9)
|
||||||
delayed_job_active_record
|
delayed_job_active_record
|
||||||
devise (~> 4.9.4)
|
devise (~> 4.9.4)
|
||||||
|
@ -876,6 +930,10 @@ DEPENDENCIES
|
||||||
omniauth-rails_csrf_protection (~> 1.0)
|
omniauth-rails_csrf_protection (~> 1.0)
|
||||||
omniauth-saml
|
omniauth-saml
|
||||||
omniauth_openid_connect
|
omniauth_openid_connect
|
||||||
|
opentelemetry-exporter-otlp
|
||||||
|
opentelemetry-instrumentation-rails
|
||||||
|
opentelemetry-propagator-xray
|
||||||
|
opentelemetry-sdk
|
||||||
overcommit
|
overcommit
|
||||||
pg (~> 1.5)
|
pg (~> 1.5)
|
||||||
pg_search
|
pg_search
|
||||||
|
@ -907,7 +965,6 @@ DEPENDENCIES
|
||||||
shoulda-matchers
|
shoulda-matchers
|
||||||
silencer
|
silencer
|
||||||
simplecov
|
simplecov
|
||||||
sneaky-save!
|
|
||||||
sprockets-rails
|
sprockets-rails
|
||||||
tailwindcss-rails (~> 2.4)
|
tailwindcss-rails (~> 2.4)
|
||||||
timecop
|
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