-
Notifications
You must be signed in to change notification settings - Fork 328
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
Release scala-3 versions of kamon-akka, kamon-pekko and kamon-pekko-http #1295
Conversation
The release of the Pekko packages with Scala 3.x would probably need |
@ivantopo Do you have any plan to pekko integration? |
Hi 👋 I'll be helping out for a bit to get some of these outstanding prs merged. There are a few issues with this pr - as it stands the akka + pekko modules don't actually compile with scala 3. I had a crack at fixing that locally, but ran into some test failures. Will try to get this moving ASAP however |
Hi @hughsimpson Thanks for the Help. |
ah i've just nor realized thet the Merge of the main removed the scala3-release for pekko |
Think bumping to scala 3.3 is fine TBH - it's the LTS version after all. Anyway, the issues I ran into for compilation were (other than crossScalaVersions not containing scala_3_version - build.sbt used |
i have Fixed the Compile-errors and was able to locally publish bus as mentioned above i needed to upgrade scala from 3.2.0 to 3.3.0 to do it. |
@@ -0,0 +1,323 @@ | |||
package kamon.instrumentation.pekko.http |
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.
I think this file can/should be deduplicated between scala versions now - it's essentially the same, modulo formatting, for 2.12/2.13/3
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.
the scala-3 version is explicitly handing the Tuple in line 290.
the implicit way didn't compile
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.
Don't think it's worth having three copies just to avoid that in the other two copies 😄 Shouldn't cause an error with them (specifying tprovide[T](values)
should also work to avoid passing the implicit explicitly)
okay... so i've managed to fix the compiler-errors, but all test-suites for akka, pekko and pekko-http fail with a logging entry like
and a nullpointer:
I think i have reached the limit of my scala-knowlage. |
So that's where.I got to too 😅 . These errors can be fixed, I believe, by judicious application of the |
no objections at all. |
i'm rather new to the Github-collaboration thing. |
Good question... since I was able to merge master back into your branch I guess I already have access -- I think you implicitly grant it (branch access) to repo maintainers when you open the pr. Anyway, I've got the pekko-http tests passing, but context still isn't being propagated over actor calls, so I've got a lot of failing tests still. Might be a while on this I'm afraid 😅 |
Hey @hughsimpson |
Hey! Sorry, I've not looked at this for a little while. I've actually got the [akka/pekko]-http modules passing all tests, but context propagation over actor messages wasn't working when I last left it. I'll try to take another look at this tomorrow and see if I can get anywhere. Edit: sorry, didn't get to that today. Personal reasons. But this is near the top of my priority list now. Think we probably need a new version cut first anyway, but I will want this soon myself so it will be addressed. |
If you want to know what I was doing in the meantime, it was mostly adding the
to
in the classes where I introduced the static notations. But that turns out not not be the right thing everywhere... I'll push something to a branch to show you at some point, although I confess I'll have another go at actually fixing before sharing where I've got to |
I've got the kamon-pekko module tests passing now here |
Thanks will have a look at it |
As you suggested, probably a good idea to rebase this. Are you still up for having a crack at applying the same fixes to the akka modules? |
Thought i had rebased already but seem like i messed it up ... |
I think i've fixed the rebaseing and will have a look at the failing akka tests later today |
Awesome! Thanks for the help 🙏 it really makes a difference! |
@@ -28,6 +28,9 @@ import kanela.agent.libs.net.bytebuddy.asm.Advice.{Argument, OnMethodEnter, OnMe | |||
|
|||
class ActorInstrumentation extends InstrumentationBuilder { | |||
|
|||
onType("akka.actor.dungeon.Dispatch") |
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.
I think I've caused a regression with Akka 2.5 with this one. It looks like this advice will need to be split between Akka versions
@@ -222,7 +222,7 @@ class TracingTestActor extends Actor { | |||
} | |||
|
|||
class ActorWithMaterializer extends Actor { | |||
implicit val mat = ActorMaterializer() | |||
implicit val mat: Materializer = Materializer(context) |
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.
I think this needs reverting because of Akka 2.5...
I've created a new branch on https://github.com/kamon-io/Kamon/tree/akka_pekko_scala_3 and will push some additional test fixes to it today |
Closing this in favour of #1311 |
release scala3 releases of:
since Akka.actor >=2.6.17 was released with scala3 we can release them as scala3 packages as well
Pekko was released for scala3 from v1.0.0