Skip to content

Commit 3549181

Browse files
whi-twcadmiumcat
authored andcommitted
wip: initialise opentelemetry
1 parent 06d5b8a commit 3549181

File tree

3 files changed

+289
-0
lines changed

3 files changed

+289
-0
lines changed

Gemfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ gem "govuk-forms-markdown", require: "govuk_forms_markdown", github: "alphagov/g
5454
# For structured logging
5555
gem "lograge"
5656

57+
# For distributed tracing and telemetry
58+
gem "opentelemetry-exporter-otlp", "~> 0.31.1"
59+
gem "opentelemetry-instrumentation-all", "~> 0.89.1"
60+
gem "opentelemetry-propagator-xray", "~> 0.26.0"
61+
gem "opentelemetry-sdk", "~> 1.10"
62+
5763
# Use GOV.UK Nofity api to send emails
5864
gem "govuk_notify_rails"
5965

Gemfile.lock

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,29 @@ GEM
219219
warden-oauth2 (~> 0.0.1)
220220
globalid (1.3.0)
221221
activesupport (>= 6.1)
222+
google-protobuf (4.33.4)
223+
bigdecimal
224+
rake (>= 13)
225+
google-protobuf (4.33.4-aarch64-linux-gnu)
226+
bigdecimal
227+
rake (>= 13)
228+
google-protobuf (4.33.4-aarch64-linux-musl)
229+
bigdecimal
230+
rake (>= 13)
231+
google-protobuf (4.33.4-arm64-darwin)
232+
bigdecimal
233+
rake (>= 13)
234+
google-protobuf (4.33.4-x86_64-darwin)
235+
bigdecimal
236+
rake (>= 13)
237+
google-protobuf (4.33.4-x86_64-linux-gnu)
238+
bigdecimal
239+
rake (>= 13)
240+
google-protobuf (4.33.4-x86_64-linux-musl)
241+
bigdecimal
242+
rake (>= 13)
243+
googleapis-common-protos-types (1.22.0)
244+
google-protobuf (~> 4.26)
222245
govuk-components (5.13.1)
223246
html-attributes-utils (~> 1.0.0, >= 1.0.0)
224247
pagy (>= 6, < 10)
@@ -345,6 +368,181 @@ GEM
345368
omniauth-rails_csrf_protection (2.0.1)
346369
actionpack (>= 4.2)
347370
omniauth (~> 2.0)
371+
opentelemetry-api (1.7.0)
372+
opentelemetry-common (0.23.0)
373+
opentelemetry-api (~> 1.0)
374+
opentelemetry-exporter-otlp (0.31.1)
375+
google-protobuf (>= 3.18)
376+
googleapis-common-protos-types (~> 1.3)
377+
opentelemetry-api (~> 1.1)
378+
opentelemetry-common (~> 0.20)
379+
opentelemetry-sdk (~> 1.10)
380+
opentelemetry-semantic_conventions
381+
opentelemetry-helpers-mysql (0.4.0)
382+
opentelemetry-api (~> 1.7)
383+
opentelemetry-common (~> 0.21)
384+
opentelemetry-helpers-sql (0.3.0)
385+
opentelemetry-api (~> 1.7)
386+
opentelemetry-helpers-sql-processor (0.4.0)
387+
opentelemetry-api (~> 1.0)
388+
opentelemetry-common (~> 0.21)
389+
opentelemetry-instrumentation-action_mailer (0.6.1)
390+
opentelemetry-instrumentation-active_support (~> 0.10)
391+
opentelemetry-instrumentation-action_pack (0.15.1)
392+
opentelemetry-instrumentation-rack (~> 0.29)
393+
opentelemetry-instrumentation-action_view (0.11.2)
394+
opentelemetry-instrumentation-active_support (~> 0.10)
395+
opentelemetry-instrumentation-active_job (0.10.1)
396+
opentelemetry-instrumentation-base (~> 0.25)
397+
opentelemetry-instrumentation-active_model_serializers (0.24.0)
398+
opentelemetry-instrumentation-active_support (>= 0.7.0)
399+
opentelemetry-instrumentation-active_record (0.11.1)
400+
opentelemetry-instrumentation-base (~> 0.25)
401+
opentelemetry-instrumentation-active_storage (0.3.1)
402+
opentelemetry-instrumentation-active_support (~> 0.10)
403+
opentelemetry-instrumentation-active_support (0.10.1)
404+
opentelemetry-instrumentation-base (~> 0.25)
405+
opentelemetry-instrumentation-all (0.89.1)
406+
opentelemetry-instrumentation-active_model_serializers (~> 0.24.0)
407+
opentelemetry-instrumentation-anthropic (~> 0.3.0)
408+
opentelemetry-instrumentation-aws_lambda (~> 0.6.0)
409+
opentelemetry-instrumentation-aws_sdk (~> 0.11.0)
410+
opentelemetry-instrumentation-bunny (~> 0.24.0)
411+
opentelemetry-instrumentation-concurrent_ruby (~> 0.24.0)
412+
opentelemetry-instrumentation-dalli (~> 0.29.0)
413+
opentelemetry-instrumentation-delayed_job (~> 0.25.1)
414+
opentelemetry-instrumentation-ethon (~> 0.26.0)
415+
opentelemetry-instrumentation-excon (~> 0.26.0)
416+
opentelemetry-instrumentation-faraday (~> 0.30.0)
417+
opentelemetry-instrumentation-grape (~> 0.5.0)
418+
opentelemetry-instrumentation-graphql (~> 0.31.1)
419+
opentelemetry-instrumentation-grpc (~> 0.4.1)
420+
opentelemetry-instrumentation-gruf (~> 0.5.0)
421+
opentelemetry-instrumentation-http (~> 0.27.0)
422+
opentelemetry-instrumentation-http_client (~> 0.26.0)
423+
opentelemetry-instrumentation-httpx (~> 0.5.0)
424+
opentelemetry-instrumentation-koala (~> 0.23.0)
425+
opentelemetry-instrumentation-lmdb (~> 0.25.0)
426+
opentelemetry-instrumentation-mongo (~> 0.25.0)
427+
opentelemetry-instrumentation-mysql2 (~> 0.32.1)
428+
opentelemetry-instrumentation-net_http (~> 0.26.0)
429+
opentelemetry-instrumentation-pg (~> 0.34.1)
430+
opentelemetry-instrumentation-que (~> 0.12.0)
431+
opentelemetry-instrumentation-racecar (~> 0.6.0)
432+
opentelemetry-instrumentation-rack (~> 0.29.0)
433+
opentelemetry-instrumentation-rails (~> 0.39.1)
434+
opentelemetry-instrumentation-rake (~> 0.5.0)
435+
opentelemetry-instrumentation-rdkafka (~> 0.9.0)
436+
opentelemetry-instrumentation-redis (~> 0.28.0)
437+
opentelemetry-instrumentation-resque (~> 0.8.0)
438+
opentelemetry-instrumentation-restclient (~> 0.26.0)
439+
opentelemetry-instrumentation-ruby_kafka (~> 0.24.0)
440+
opentelemetry-instrumentation-sidekiq (~> 0.28.1)
441+
opentelemetry-instrumentation-sinatra (~> 0.28.0)
442+
opentelemetry-instrumentation-trilogy (~> 0.65.1)
443+
opentelemetry-instrumentation-anthropic (0.3.0)
444+
opentelemetry-instrumentation-base (~> 0.25)
445+
opentelemetry-instrumentation-aws_lambda (0.6.0)
446+
opentelemetry-instrumentation-base (~> 0.25)
447+
opentelemetry-instrumentation-aws_sdk (0.11.0)
448+
opentelemetry-instrumentation-base (~> 0.25)
449+
opentelemetry-instrumentation-base (0.25.0)
450+
opentelemetry-api (~> 1.7)
451+
opentelemetry-common (~> 0.21)
452+
opentelemetry-registry (~> 0.1)
453+
opentelemetry-instrumentation-bunny (0.24.0)
454+
opentelemetry-instrumentation-base (~> 0.25)
455+
opentelemetry-instrumentation-concurrent_ruby (0.24.0)
456+
opentelemetry-instrumentation-base (~> 0.25)
457+
opentelemetry-instrumentation-dalli (0.29.0)
458+
opentelemetry-instrumentation-base (~> 0.25)
459+
opentelemetry-instrumentation-delayed_job (0.25.1)
460+
opentelemetry-instrumentation-base (~> 0.25)
461+
opentelemetry-instrumentation-ethon (0.26.0)
462+
opentelemetry-instrumentation-base (~> 0.25)
463+
opentelemetry-instrumentation-excon (0.26.1)
464+
opentelemetry-instrumentation-base (~> 0.25)
465+
opentelemetry-instrumentation-faraday (0.30.1)
466+
opentelemetry-instrumentation-base (~> 0.25)
467+
opentelemetry-instrumentation-grape (0.5.0)
468+
opentelemetry-instrumentation-rack (~> 0.29)
469+
opentelemetry-instrumentation-graphql (0.31.2)
470+
opentelemetry-instrumentation-base (~> 0.25)
471+
opentelemetry-instrumentation-grpc (0.4.1)
472+
opentelemetry-instrumentation-base (~> 0.25)
473+
opentelemetry-instrumentation-gruf (0.5.0)
474+
opentelemetry-instrumentation-base (~> 0.25)
475+
opentelemetry-instrumentation-http (0.27.1)
476+
opentelemetry-instrumentation-base (~> 0.25)
477+
opentelemetry-instrumentation-http_client (0.26.1)
478+
opentelemetry-instrumentation-base (~> 0.25)
479+
opentelemetry-instrumentation-httpx (0.5.1)
480+
opentelemetry-instrumentation-base (~> 0.25)
481+
opentelemetry-instrumentation-koala (0.23.0)
482+
opentelemetry-instrumentation-base (~> 0.25)
483+
opentelemetry-instrumentation-lmdb (0.25.0)
484+
opentelemetry-instrumentation-base (~> 0.25)
485+
opentelemetry-instrumentation-mongo (0.25.0)
486+
opentelemetry-instrumentation-base (~> 0.25)
487+
opentelemetry-instrumentation-mysql2 (0.32.1)
488+
opentelemetry-helpers-mysql
489+
opentelemetry-helpers-sql
490+
opentelemetry-helpers-sql-processor
491+
opentelemetry-instrumentation-base (~> 0.25)
492+
opentelemetry-instrumentation-net_http (0.26.1)
493+
opentelemetry-instrumentation-base (~> 0.25)
494+
opentelemetry-instrumentation-pg (0.34.1)
495+
opentelemetry-helpers-sql
496+
opentelemetry-helpers-sql-processor
497+
opentelemetry-instrumentation-base (~> 0.25)
498+
opentelemetry-instrumentation-que (0.12.0)
499+
opentelemetry-instrumentation-base (~> 0.25)
500+
opentelemetry-instrumentation-racecar (0.6.1)
501+
opentelemetry-instrumentation-base (~> 0.25)
502+
opentelemetry-instrumentation-rack (0.29.0)
503+
opentelemetry-instrumentation-base (~> 0.25)
504+
opentelemetry-instrumentation-rails (0.39.1)
505+
opentelemetry-instrumentation-action_mailer (~> 0.6)
506+
opentelemetry-instrumentation-action_pack (~> 0.15)
507+
opentelemetry-instrumentation-action_view (~> 0.11)
508+
opentelemetry-instrumentation-active_job (~> 0.10)
509+
opentelemetry-instrumentation-active_record (~> 0.11)
510+
opentelemetry-instrumentation-active_storage (~> 0.3)
511+
opentelemetry-instrumentation-active_support (~> 0.10)
512+
opentelemetry-instrumentation-concurrent_ruby (~> 0.23)
513+
opentelemetry-instrumentation-rake (0.5.0)
514+
opentelemetry-instrumentation-base (~> 0.25)
515+
opentelemetry-instrumentation-rdkafka (0.9.0)
516+
opentelemetry-instrumentation-base (~> 0.25)
517+
opentelemetry-instrumentation-redis (0.28.0)
518+
opentelemetry-instrumentation-base (~> 0.25)
519+
opentelemetry-instrumentation-resque (0.8.0)
520+
opentelemetry-instrumentation-base (~> 0.25)
521+
opentelemetry-instrumentation-restclient (0.26.0)
522+
opentelemetry-instrumentation-base (~> 0.25)
523+
opentelemetry-instrumentation-ruby_kafka (0.24.0)
524+
opentelemetry-instrumentation-base (~> 0.25)
525+
opentelemetry-instrumentation-sidekiq (0.28.1)
526+
opentelemetry-instrumentation-base (~> 0.25)
527+
opentelemetry-instrumentation-sinatra (0.28.0)
528+
opentelemetry-instrumentation-rack (~> 0.29)
529+
opentelemetry-instrumentation-trilogy (0.65.1)
530+
opentelemetry-helpers-mysql
531+
opentelemetry-helpers-sql
532+
opentelemetry-helpers-sql-processor
533+
opentelemetry-instrumentation-base (~> 0.25)
534+
opentelemetry-semantic_conventions (>= 1.8.0)
535+
opentelemetry-propagator-xray (0.26.0)
536+
opentelemetry-api (~> 1.7)
537+
opentelemetry-registry (0.4.0)
538+
opentelemetry-api (~> 1.1)
539+
opentelemetry-sdk (1.10.0)
540+
opentelemetry-api (~> 1.1)
541+
opentelemetry-common (~> 0.20)
542+
opentelemetry-registry (~> 0.2)
543+
opentelemetry-semantic_conventions
544+
opentelemetry-semantic_conventions (1.36.0)
545+
opentelemetry-api (~> 1.0)
348546
ostruct (0.6.3)
349547
pagy (9.4.0)
350548
paper_trail (17.0.0)
@@ -632,6 +830,10 @@ DEPENDENCIES
632830
mobility (~> 1.3)
633831
omniauth-auth0
634832
omniauth-rails_csrf_protection
833+
opentelemetry-exporter-otlp (~> 0.31.1)
834+
opentelemetry-instrumentation-all (~> 0.89.1)
835+
opentelemetry-propagator-xray (~> 0.26.0)
836+
opentelemetry-sdk (~> 1.10)
635837
pagy
636838
paper_trail
637839
parallel_rspec
@@ -722,6 +924,14 @@ CHECKSUMS
722924
ferrum (0.17.1) sha256=51d591120fc593e5a13b5d9d6474389f5145bb92a91e36eab147b5d096c8cbe7
723925
gds-sso (22.1.1) sha256=87da38284fe2eb98cca4f02d5f23bc01bbad7eeabe10a3c60d915628968d9122
724926
globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
927+
google-protobuf (4.33.4) sha256=86921935b023ed0d872d6e84382e79016c91689be0520d614c74426778f13c16
928+
google-protobuf (4.33.4-aarch64-linux-gnu) sha256=7b091ec8a80520738a4dbff59458e2a7ed4304d7fc20fd779b3d019ff52fbead
929+
google-protobuf (4.33.4-aarch64-linux-musl) sha256=c017371e6fe8144285a3dd5d1ae2776f92892f7455bea26537f0f3072b6d894c
930+
google-protobuf (4.33.4-arm64-darwin) sha256=63bb57e3d7108986f961546a536adaa38bd9ab5b1ebc39a1741a16c6eba3e869
931+
google-protobuf (4.33.4-x86_64-darwin) sha256=72906abcb572b324eba760b0abdbb827ab781b8e26f718fa3f7f49485295c8d3
932+
google-protobuf (4.33.4-x86_64-linux-gnu) sha256=a8cff953d742bc804ece78bd96e82d88cf65a7d8c1910e045359e2f53074e55d
933+
google-protobuf (4.33.4-x86_64-linux-musl) sha256=265e6e5bbcc0ba1367268739e31c4cc84ff310b56e8d738d2a3245b5cccfc2e7
934+
googleapis-common-protos-types (1.22.0) sha256=f97492b77bd6da0018c860d5004f512fe7cd165554d7019a8f4df6a56fbfc4c7
725935
govuk-components (5.13.1) sha256=74808d8188a7de2c5e83e5a829c5f8ac3851df27f82410a4a2444cf53c24cfe5
726936
govuk-forms-markdown (0.8.0)
727937
govuk_design_system_formbuilder (5.13.0) sha256=126ff4af70b36f06395e8f4f09d399944bcc10e9a41c2ff7d7773e81e92ca885
@@ -772,6 +982,62 @@ CHECKSUMS
772982
omniauth-auth0 (3.1.1) sha256=3d9e83377b37394db077cf27082d29ccff93158f072d92fc59f1e88798c6c2b2
773983
omniauth-oauth2 (1.8.0) sha256=b2f8e9559cc7e2d4efba57607691d6d2b634b879fc5b5b6ccfefa3da85089e78
774984
omniauth-rails_csrf_protection (2.0.1) sha256=c6e3204d7e3925bb537cb52d50fdfc9f05293f1a9d87c5d4ab4ca3a39ba8c32d
985+
opentelemetry-api (1.7.0) sha256=ccfd264ea6f2db5bf4185e3c07a1297977b44a944e2ce65457c4fe63a697214f
986+
opentelemetry-common (0.23.0) sha256=da721190479d57bae0ad2207468f47f3e2c3b9a91024b5bc32c9d280183eb32c
987+
opentelemetry-exporter-otlp (0.31.1) sha256=5358be17d7849cbcc4f49e1fc24105edc780a6f96c8e57b64192ab9a8e47474a
988+
opentelemetry-helpers-mysql (0.4.0) sha256=d309c0b20825bdd14d4dbc75e0d3b381ffdad37d16424ceca3cb8453d9cb5a4f
989+
opentelemetry-helpers-sql (0.3.0) sha256=4bb08017d6a16dd41c4d1c53c7fd30f9c5bb691195d8b458933724627b3f37f9
990+
opentelemetry-helpers-sql-processor (0.4.0) sha256=ec238d7a2887219bd247dc31d0eb8a1a03d414a899963b68e14bb9f4d18b23f4
991+
opentelemetry-instrumentation-action_mailer (0.6.1) sha256=8384866bdb066ae14b9a1fe686ffaf1f23468326a35af64390c0395fcd471057
992+
opentelemetry-instrumentation-action_pack (0.15.1) sha256=84fade740783caeebf260aaefcbf8f1a7a4c49f946944ff520a2fb1d6b07f273
993+
opentelemetry-instrumentation-action_view (0.11.2) sha256=e6a099015d672dabc19993d6fca99ef1e7210361ef21549a6e2076a67719fafc
994+
opentelemetry-instrumentation-active_job (0.10.1) sha256=aea1311224c20d064a8f218a44299171152dc36eeb531b9eba84bed8b3942a89
995+
opentelemetry-instrumentation-active_model_serializers (0.24.0) sha256=8fe81e44167d17e45d9acfa588d20140c7640c323e58aca99e266de1bb3fce15
996+
opentelemetry-instrumentation-active_record (0.11.1) sha256=1b083f34eea0449f8d6f4370b3fb4b935757fac6e4e538e67bb98211809e7c92
997+
opentelemetry-instrumentation-active_storage (0.3.1) sha256=f89b0fef54921f17c0c4c38a6e0926d29afabd0ac98436fcdbb8bde85dfde89e
998+
opentelemetry-instrumentation-active_support (0.10.1) sha256=82ea98367158797e33c6de96581f10aa4fe8adf0ebec832dcff5fd04c59bc57d
999+
opentelemetry-instrumentation-all (0.89.1) sha256=6a7de5fd7498024a34eecb63f3d69e8d3e1a3c7933bfef444e1d64e8c2b69f04
1000+
opentelemetry-instrumentation-anthropic (0.3.0) sha256=09bd9b4ba6189389a6c0f7ba49f1d11f387d93b411ab585137a48b59925a48de
1001+
opentelemetry-instrumentation-aws_lambda (0.6.0) sha256=1a3161393cfe9bc9eddd81a0668d076c38a0a2c3d5df40e95d02f5a8fcd3334c
1002+
opentelemetry-instrumentation-aws_sdk (0.11.0) sha256=67a21e754ddf51e2bb8c3e46e116aa9158d8db800f34c2a9b1e0da5a6ca911e3
1003+
opentelemetry-instrumentation-base (0.25.0) sha256=642a3a7f08354e6e969423327a4fa67ed2cca7ac6fe5ee09e55b17d1c576da27
1004+
opentelemetry-instrumentation-bunny (0.24.0) sha256=1ec484e48a5f42a1d0c33e8e6bc7e9e78dd80f3ed9d63520b8a22ba564aa2585
1005+
opentelemetry-instrumentation-concurrent_ruby (0.24.0) sha256=229bd8b72000c59de693609bb637b8a9114992f5e0ab03730d7fd7ef91f7d1d2
1006+
opentelemetry-instrumentation-dalli (0.29.0) sha256=a2686650545609e8d7e281c9fd1aef529ab578ef2dcf9a6258737e4ba214bc2f
1007+
opentelemetry-instrumentation-delayed_job (0.25.1) sha256=47f35b10d2bfd9ac7c2bbbe10dea095a2e25db2a84f5351860ead969d180c3ec
1008+
opentelemetry-instrumentation-ethon (0.26.0) sha256=d4461082c84e8912ab1204340f31cae4aba58b4ae2a854d517b27116750e3752
1009+
opentelemetry-instrumentation-excon (0.26.1) sha256=a856816c98d45ff4cd3ec3b0d7fc1e5e340390f47478f882eb4a688cfc678fef
1010+
opentelemetry-instrumentation-faraday (0.30.1) sha256=526822c0575aba333e53bfdb26a4a7b6a30c9cb1b1d400d514d891f4507732f9
1011+
opentelemetry-instrumentation-grape (0.5.0) sha256=b9fcbe13b015b663577b8bde5b419c297da2588d0a022f4ce40f9ffc49df7624
1012+
opentelemetry-instrumentation-graphql (0.31.2) sha256=a4455f225427f8f9058247c8c0b351b8932567913c35ef049f7958801d401b1f
1013+
opentelemetry-instrumentation-grpc (0.4.1) sha256=5ffa2bb1d5ec69bcd1fe23e1d8c1a563a00351ce052fe9d76885cc43f21ebc87
1014+
opentelemetry-instrumentation-gruf (0.5.0) sha256=ee21be36e312e71b847c9a87168225625890121140a364b68d3668e0df58dacd
1015+
opentelemetry-instrumentation-http (0.27.1) sha256=ba70029da6fe9bdfadd31d539823fae3d7fefff11f3487aeeb4cc47b48cf7303
1016+
opentelemetry-instrumentation-http_client (0.26.1) sha256=f6af45487998db43d4b8772b4929d692189b66c5591420220e06c3848012e6ff
1017+
opentelemetry-instrumentation-httpx (0.5.1) sha256=3ef926ec56e208290052c8d278e3f82890a7f6dadeb01a7c9a706a3fb4da52dd
1018+
opentelemetry-instrumentation-koala (0.23.0) sha256=8f324b50a2a64fd4994bb2b105a4cb0c80b64ec05cf5487d2daa906c650bc6f9
1019+
opentelemetry-instrumentation-lmdb (0.25.0) sha256=1e4d66d583ea242d4f72051062971f5af1ea353484d224abbd0aabdd1ce5f5cb
1020+
opentelemetry-instrumentation-mongo (0.25.0) sha256=d04585669f928ea82e7c469f996061d39d8ff184278d57cf4fc77a6d607f9c7a
1021+
opentelemetry-instrumentation-mysql2 (0.32.1) sha256=9f5c705b374f7804d374e4fdb5b793c0321dea25644a006bbb76b2150452277a
1022+
opentelemetry-instrumentation-net_http (0.26.1) sha256=354ebf161f2aca0eaafdc9decc014f98b246994308a5de3ccf303f1d4abdfa2c
1023+
opentelemetry-instrumentation-pg (0.34.1) sha256=8d6d75f8d895eea040f72ac7765257e82f9aaa81eed44bd1afbcaa7f49ebb5c2
1024+
opentelemetry-instrumentation-que (0.12.0) sha256=3b7a84341f6af5a04f8c57860aeba4033f87c855d40c611a2fc40dde849944fb
1025+
opentelemetry-instrumentation-racecar (0.6.1) sha256=833f6611906fb661f577e841d4ec52549474d32b4e8edea8048162348d35b845
1026+
opentelemetry-instrumentation-rack (0.29.0) sha256=9e2cbb8336087064cbe33b502d917d85b174162bc717efda1cfdbd182342f377
1027+
opentelemetry-instrumentation-rails (0.39.1) sha256=7959df7895543040fbb5cd3877c37bc9f95d79ff9d7749334314c50b871ac96f
1028+
opentelemetry-instrumentation-rake (0.5.0) sha256=fa6bd019078975ac8a67eaea06294e4fe6707e6770d8ced88d74dc573b0a01ef
1029+
opentelemetry-instrumentation-rdkafka (0.9.0) sha256=f3beb56828c584d7d91a2c46f6e5a2ef82289b1d4445b1eb5bc13b80ab6aca89
1030+
opentelemetry-instrumentation-redis (0.28.0) sha256=8721957d1c527dd22bd564d17f3a8db252081abb302be189511282d023693900
1031+
opentelemetry-instrumentation-resque (0.8.0) sha256=559edde9d6273dd757ae5149ed36e26d147b63028d084121203f51c8cff805e5
1032+
opentelemetry-instrumentation-restclient (0.26.0) sha256=5d4e9d93ef51564a1023c076e17b4ac3b42fe81003321d9fb66e44886538bdce
1033+
opentelemetry-instrumentation-ruby_kafka (0.24.0) sha256=257e891f4ce630ba3e0669408d497b44afcc493cd49aed09343d5a51fa8952c2
1034+
opentelemetry-instrumentation-sidekiq (0.28.1) sha256=abc85d62996a5362e7a9fd7af9f6c709d01ce04795514d12fee5126335ae97ae
1035+
opentelemetry-instrumentation-sinatra (0.28.0) sha256=9f11d68c580a421cadd633aca1f8f92707d6b6995d48fffa045a48c187347f26
1036+
opentelemetry-instrumentation-trilogy (0.65.1) sha256=4e20ef2aee15613ea9e5468c1561184fc94cde615f3174c6f5d80c76fea8ccbd
1037+
opentelemetry-propagator-xray (0.26.0) sha256=c8f4328599e5749d3896aec118088de4a58914c4801802fe49cdf4f4fba6374f
1038+
opentelemetry-registry (0.4.0) sha256=903fa6bfaa29eac1c1d73a4fdd29b850977b5353b84b8cdff11222c00ad2968f
1039+
opentelemetry-sdk (1.10.0) sha256=43719949be8df24dcaeb86ebbf75636cda87d51a01af2729499b92a48b80521a
1040+
opentelemetry-semantic_conventions (1.36.0) sha256=c1b1607dbc7853aac7f9e23f6e8b76969c45b07f2b812a4aa4383c19a3b0f617
7751041
ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
7761042
pagy (9.4.0) sha256=db3f2e043f684155f18f78be62a81e8d033e39b9f97b1e1a8d12ad38d7bce738
7771043
paper_trail (17.0.0) sha256=1c2842061d3874ca7015908e821e2aa14f9b982af2acb2a7974713bf79021c85
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
require "opentelemetry/sdk"
2+
require "opentelemetry/instrumentation/all"
3+
4+
return unless ENV["ENABLE_OTEL"] == "true"
5+
6+
OpenTelemetry::SDK.configure do |c|
7+
instrumentation_config = { "OpenTelemetry::Instrumentation::Rack" => { untraced_endpoints: ["/up"] } }
8+
c.use_all(instrumentation_config)
9+
10+
if ENV["OTEL_PROPAGATORS"] == "xray"
11+
# The ID Generator can only be configured through code. Gate it behind the propagator env var to keep things agnostic.
12+
c.id_generator = OpenTelemetry::Propagator::XRay::IDGenerator
13+
end
14+
15+
# Disable logging for Rake tasks to avoid cluttering output
16+
c.logger = Logger.new(File::NULL) if Rails.const_defined?(:Rake) && Rake.application.top_level_tasks.any?
17+
end

0 commit comments

Comments
 (0)