-
Notifications
You must be signed in to change notification settings - Fork 381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Karafka integration #4147
base: master
Are you sure you want to change the base?
Add Karafka integration #4147
Conversation
595ea74
to
dd02868
Compare
Created a Jira card for Docs Team editorial review. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4147 +/- ##
==========================================
- Coverage 97.78% 97.75% -0.03%
==========================================
Files 1353 1358 +5
Lines 81817 81920 +103
Branches 4145 4150 +5
==========================================
+ Hits 80001 80081 +80
- Misses 1816 1839 +23 ☔ View full report in Codecov by Sentry. |
FYI feel free to ping me once remarks are done. I will be happy to help and maybe in the future retire my own instrumentation in favour of the DD one ;) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a couple of very small suggestions from Docs and approved the PR.
Use Tracing.trace wrapper to add consumer trace Use Instrumentation::Monitor to instrument and have a proper trace wrapper
d2d5539
to
a808800
Compare
Hey @marcotc , do you know how to have these 2 envs?
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👋 @nvh0412, thank you so much for your patience.
We are in the middle of a CI migration, so the test runs are a bit confusing now.
One thing I noticed missing is the entry for karafka
in the Rakefile, which means tests are not running in CI. It should be added here:
Lines 222 to 269 in 30f6e21
# Datadog Tracing integrations | |
# REMINDER: If adding a new task here, make sure also add it to the `Matrixfile` | |
[ | |
:action_cable, | |
:action_mailer, | |
:action_pack, | |
:action_view, | |
:active_model_serializers, | |
:active_record, | |
:active_support, | |
:aws, | |
:concurrent_ruby, | |
:dalli, | |
:delayed_job, | |
:elasticsearch, | |
:ethon, | |
:excon, | |
:faraday, | |
:grape, | |
:grpc, | |
:http, | |
:httpclient, | |
:httprb, | |
:kafka, | |
:lograge, | |
:mongodb, | |
:mysql2, | |
:opensearch, | |
:pg, | |
:presto, | |
:que, | |
:racecar, | |
:rack, | |
:rake, | |
:redis, | |
:resque, | |
:roda, | |
:rest_client, | |
:semantic_logger, | |
:sequel, | |
:shoryuken, | |
:sidekiq, | |
:sinatra, | |
:sneakers, | |
:stripe, | |
:sucker_punch, | |
:suite, | |
:trilogy |
As well as in the Matrixfile, which you probably copy the current entry for kafka
to use for your tests:
Lines 109 to 111 in 30f6e21
'kafka' => { | |
'activesupport' => '✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ 3.4 / ✅ jruby' | |
}, |
This commit msg actually made my day |
Sorry, the pull request is currently blocked and I am working on
|
👋 @marco I have prepared a branch Basically, rebase Currently, the unit tests are failing because of the minimum version defined subject to test. Static analysis is failing with I did cherrypicked the changes containing autogenerated gemfiles and lockfiles. You might do the same in order to change your dependencies for testing. |
What does this PR do?
Fixed #1660
In this PR, we introduce the Kafka integration for the Karafka gem. Which includes:
Motivation:
We’re integrating Karafka to implement proper distributed tracing in our system with Datadog, as it lacks an official integration. This integration will also enable distributed tracing if the message headers include distributed tracing data.
Distributed tracing will help us create a proper service map, connecting Kafka producers and consumers.
Change log entry
Yes. Add Karafka integration for distributed tracing.
(Added by @ivoanjo)
Additional Notes:
How to test the change?