Git Product home page Git Product logo

Comments (13)

ivantopo avatar ivantopo commented on July 23, 2024 1

The thing is that there is no (and wont be) Spray build for Scala 2.12. So we need to do some changes in order to keep it building. I'm actually thinking more of async-http-client rather than akka-http, not because I have any issues with akka-http, but because we could just use the same code in the reporting modules regardless of the Akka/Scala version chosen by the users.

from kamon-influxdb.

dpsoft avatar dpsoft commented on July 23, 2024

@pimeys ping!!. I thinks that is a good idea and also we can take a look to https://github.com/AsyncHttpClient/async-http-client

from kamon-influxdb.

pimeys avatar pimeys commented on July 23, 2024

I have a bit of time now, maybe I could refactor this!

from kamon-influxdb.

dpsoft avatar dpsoft commented on July 23, 2024

@pimeys awsome!!

from kamon-influxdb.

cory-p-oncota avatar cory-p-oncota commented on July 23, 2024

@pimeys unfortunately, I don't know where this work has gone (luckily, only about ten minutes of hacking around)

Since I only use this module in development, I shifted to working on some of the other modules when I hit an issue on this line, where it appears Akka IO cannot derive an ActorRef from Akka HTTP in the same way it could from Spray.

It did get me thinking that a refactor of this based on streams and the host-level akka-http API would simplify much of this but that does break from the pattern I've seen in Kamon modules to depend only on akka core components.

Hopefully that's at least a bit helpful.

from kamon-influxdb.

pimeys avatar pimeys commented on July 23, 2024

Uh, I'm sorry for late response, but I've been very badly sick this week. Now I'm getting better and I hope I can go back to work on Monday. I did one working iteration with akka-http, and while it worked, making the tests work was a bit of a pain. You can't do stuff like IO(Http) and I'm not working with Scala so much anymore that I can easily see the right path with the new library. Of course I should use streams, but that feels a bit overkill here without the whole Kamon infrastructure supporting them with allowing us to deal with the back pressure.

So I'm using akka-http as a simple client, but I will not do a PR until I'm happy with my tests. :)

from kamon-influxdb.

pimeys avatar pimeys commented on July 23, 2024

@cory-p-oncota A stupid question: what is exactly the reason we want to switch to akka-http? Spray is well-tested and works. It's an HTTP client used by lots of instances and I don't see it having any serious security issues in the future.

Of course it would be fun to refactor the whole Kamon project to use akka-streams, but is it worth the trouble?

from kamon-influxdb.

cory-p-oncota avatar cory-p-oncota commented on July 23, 2024

I'm sold on async-http-client, especially due to eliminating the mess of maintaining an Akka/Scala build matrix. How can we handle the TCP functionality in that case?

from kamon-influxdb.

ivantopo avatar ivantopo commented on July 23, 2024

the UDP part of the reporter could be handled with Netty, I got this quite some time ago: nilsga/Kamon@0929caa

that might work as some starting point.

from kamon-influxdb.

pimeys avatar pimeys commented on July 23, 2024

Ok, so the HTTP part with AsyncHTTPClient is done and tested here:

#2

Of course I didn't test this in action, just got the tests green. We're mostly using Prometheus now instead of InfluxDB, so I might need a test app to try it out...

I'll take a look into the UDP in another PR.

from kamon-influxdb.

artursoler avatar artursoler commented on July 23, 2024

What's the status of this issue? Since PR #2 was merged, is there anything else blocking the Scala 2.12 release?

from kamon-influxdb.

dpsoft avatar dpsoft commented on July 23, 2024

@artursoler I've just released the 0.6.5 version that supports scala 2.12, please add resolvers += Resolver.bintrayRepo("kamon-io", "releases")

from kamon-influxdb.

artursoler avatar artursoler commented on July 23, 2024

Thanks!

from kamon-influxdb.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.