opentelemetry-java
jmh
Our great sponsors
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- InfluxDB - Access the most powerful time series database as a service
- Sonar - Write Clean Java Code. Always.
opentelemetry-java | jmh | |
---|---|---|
5 | 25 | |
1,548 | 1,511 | |
1.9% | 2.3% | |
7.7 | 3.4 | |
2 days ago | 9 days ago | |
Java | Java | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opentelemetry-java
-
Prometheus JMX Exporter for Java17
After doing some research it appears this class references internal packages and therefore "makes it unusable for modern Java apps" (https://github.com/prometheus/client_java/issues/533 , https://github.com/open-telemetry/opentelemetry-java/issues/4192)
-
Python in SRE?
For monitoring: If you want to go the open source route, the open telemetry ecosystem is booming. You could use the open telemetry java agent along with their collector, and then use Elastic APM, which could give you a good starting point. Here is a small example project I found on github that was fun to play around with and explore the capabilities of a setup like this: https://github.com/riferrei/otel-with-apache-pulsar
-
Best performance monitoring tools?
OpenTelemetry and Java Flight Recorder (JFR) cover most bases. Use the OpenTelemetry Java agent if you want auto-instrumentation or just the APIs if you want to do your own instrumentation.
-
Everything you need to know about OpenTelemetry Java auto-instrumentation 👨🏽💻
opentelemetry-java - contains components for manual instrumentation as well as the API and SDK.
-
Everything you need to know about OpenTelemetry Java agent
opentelemetry-java This repo is the main OpenTelemetry Java SDK and provides components for manual instrumentation. Top-level components include OpenTelemetry API, extensions, SDK, bridge layers for OpenTracing and OpenCensus.
jmh
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
JMH for benchmarks
-
Scala collections benchmark - revisited
I would recommend using JMH instead.
- I benchmarked kotlin rust and go. The results will shock you , or not.
-
Need help navigating the Java ecosystem (coming from C++)
Aleksey Shipilev is another such leader, whom is especially knowledgeable about the internals of the JVM. His writings are invaluable. He is (was) the lead of the Java microbenchmark framework (JMH} which is how one would write small performance experiments in Java, and learn what really makes a difference or now.
-
Threads vs Coroutines - ParallelMap Performance
In the last episode we implemented a parallelMap operation using streams, raw threads, a threadpool with futures, and coroutines. At first glance the raw threads was quickest, followed by futures, coroutines and then streams. In this, part 56 of an exploration of where a Test Driven Development implementation of the Gilded Rose stock control system might take us in Kotlin, we investigate the performance of the different functions further, in particular digging down into why coroutines seem to be slow and finding a way to speed them up. We also find a way to use a particular ForkJoinPool to run the streams code, making it as fast as the others (bar the raw threads). Frankly we only use very rough benchmarks here, with no statistical testing except 'it looks like'. That's OK for gross differences, but is highly suspect when deciding which of two similarly performant approaches is faster. For that check out JMH and you could watch my video from KotlinConf 2017
-
Just another way to run JMH benchmark with Eclipse
A few months ago, we started to use JMH in our project to test and find performance issues. The tool provides multiple modes and profilers, and we found this useful for our purposes.
-
Why I'm using JMH
This is where JMH is coming to the stage.
-
Java performance in imperative vs declarative code
Use jmh for microbenchmarks -> https://github.com/openjdk/jmh
-
Performance of immutable collections in .NET
In practice you don't know which one is faster except for very large n. Would be interesting to benchmark the clojure data structures with jmh and the .net immutable data structures with benchmarkdotnet for different n and compare the results.
-
Does Java 18 finally have a better alternative to JNI?
Let's run some Java Microbenchmark Harness (JMH) benchmarks to compare the performance of JNI and Panama API. We will use the getpid function from the standard C unistd header for the comparison. We will call the API using JNI and Panama APIs and compare the performance. I'm running the benchmark on Linux with OpenJDK 19 early access build for Panama (openjdk 19-panama 2022-09-20).
What are some alternatives?
Zabbix - Real-time monitoring of IT components and services, such as networks, servers, VMs, applications and the cloud.
async-profiler - Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events [Moved to: https://github.com/async-profiler/async-profiler]
opentelemetry-java-instrumentation - OpenTelemetry auto-instrumentation and instrumentation libraries for Java
signoz - SigNoz is an open-source APM. It helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. 🔥 🖥. 👉 Open source Application Performance Monitoring (APM) & Observability tool
otel-with-apache-pulsar - Example of application that produces and consumes events to/from Apache Pulsar. Traces from the transactions are captured using OpenTelemetry and sent to Elastic Observability.
OpenJ9 - Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
apm-server - APM Server
go - The Go programming language
Grafana - The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
async-profiler - Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events