Comments (13)
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.
@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.
I have a bit of time now, maybe I could refactor this!
from kamon-influxdb.
@pimeys awsome!!
from kamon-influxdb.
@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.
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.
@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.
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.
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.
Ok, so the HTTP part with AsyncHTTPClient is done and tested here:
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.
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.
@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.
Thanks!
from kamon-influxdb.
Related Issues (10)
- NoSuchMethodError io.netty.util.internal.PlatformDependent.newAtomicIntegerFieldUpdater HOT 6
- Unable to use influxdb with SSL HOT 5
- Support for Kamon 1.x HOT 5
- Authentication no-longer works HOT 2
- http protocol is hardcoded HOT 6
- Make InfluxDBReporter#buildClient() protected so applications can configure the http client HOT 2
- Update README with current version
- kamon.io documentation needs update for usage with HTTP authentication
- kamon-influxdb HOT 39
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kamon-influxdb.