opentelemetry-ruby icon indicating copy to clipboard operation
opentelemetry-ruby copied to clipboard

feat: add manticore instrumentation

Open schanjr opened this issue 3 years ago β€’ 8 comments

This PR adds instrumentation to the manticore http client. This is a JRUBY Library.

https://github.com/cheald/manticore

Update June 25, 2021 Opening PR early to get some feedbacks in the meantime, the following work is still incomplete.

  • Add more unit test and coverage
  • Add Appraisal file if needed
  • Update README.md
  • Add more annotations docs for new classes created

Update Nov 21, 2021

  • Woke up one morning and wanted to contribute again
  • Addressed PR comments and pulled in latest changes
  • Removed alias methods attempted to use super method. Went with self.method(:call).super_method.call as the super method somehow becomes missing.
  • Followed more conventions provided.

schanjr avatar May 25 '21 13:05 schanjr

Some of the non-jruby related builds are failing. As Manticore requires Jruby (and possibly truffleruby) build in order to install the gem, how would one go about trying to pass unrelated builds? @ahayworth

schanjr avatar Nov 20 '21 20:11 schanjr

Can take a closer look this week, but We should bake explicit checks for platform into the compatible block, our patching tests should explicitly test that it’s incompatible without the platform being jruby, and then our instrumentation tests ought to be wrapped with a platform check. Just my two cents

ericmustin avatar Nov 20 '21 20:11 ericmustin

@schanjr my bad here, my week blew by. I am going to try to get some eyes on this otw or early next week, apologies for the delay here and again, appreciate the contribution

ericmustin avatar Nov 26 '21 20:11 ericmustin

@schanjr my bad here, my week blew by. I am going to try to get some eyes on this otw or early next week, apologies for the delay here and again, appreciate the contribution @ericmustin No worries. I'm not in hurry to merge in this PR. Looking for proper solution is good for long term. Take your time πŸ‘

schanjr avatar Nov 29 '21 16:11 schanjr

@ericmustin Comments should be addressed, please take a look.

However... the builds for non-jruby runtimes still failing. How do we address those?

CI Failures:
opentelemetry-instrumentation-manticore: bundle
opentelemetry-instrumentation-manticore: rubocop
opentelemetry-instrumentation-manticore: yard

I suspect related to rake file? Since the gem should only be installed on JRUBY engines (compiles to java). TruffleRuby also is also java based.

if RUBY_ENGINE == 'truffleruby'
  task default: %i[test]
else
  task default: %i[test rubocop yard]
end

schanjr avatar Jan 31 '22 05:01 schanjr

@ericmustin @ahayworth I need some help on passing the CI...

schanjr avatar Feb 11 '22 04:02 schanjr

@arielvalentin @fbogsany @mwear @ahayworth @ericmustin @robertlaurin Any possibilities of getting this merged? It's been opened as PR for a long time.

schanjr avatar Mar 03 '22 01:03 schanjr

Hello, and thank you for your contribution!

We recently split Ruby instrumentation out into the opentelemetry-ruby-contrib repo.

This PR is related to instrumentation, so we'll need you to re-open it against opentelemetry-ruby-contrib. Sorry for the inconvenience!

To do that, you can:

  1. Create a fork of opentelemetry-ruby-contrib and copy the git url
  2. In your opentelemetry-ruby repo, run git remote add tmp-contrib <your-fork-git-url>
  3. git push tmp-contrib your-branch-name
  4. Open a new PR in contrib (feel free to just copy/paste your original PR description there)
  5. Close your open PR in this repo with a comment that links to your new PR in contrib
  6. Delete your tmp-contrib remote from opentelemetry-ruby (git remote rm tmp-contrib)
  7. git clone your opentelemetry-ruby-contrib fork, check out your branch, and make all changes in that repo from now on!

Sorry again for the inconvenience, and thank you for contributing!

plantfansam avatar Jun 17 '22 17:06 plantfansam

πŸ‘‹ Hi, @schanjr! Thank you for your PR!

As Sam mentioned, Ruby instrumentation now lives in the opentelemetry-ruby-contrib repo. We'd be happy to take another look at your work in that context.

Since this PR is focused on instrumentation, I'm going to close it.

We appreciate your contribution and hope to work with you again soon!

kaylareopelle avatar Apr 01 '24 21:04 kaylareopelle