-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
adding benchmark for each id implementation (#104)
* adding benchmark for each id implementation * deleting unneccesary png files * adding benchmark details in readme.md * updating readme * updating readme * restructuring folder
- Loading branch information
Showing
5 changed files
with
29 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Benchmarks | ||
|
||
|
||
One of the deciding factor for performance of haystack client is the Id Generation Process.There are more than one way to implement the Id generator for traces and spans. We have added three implementations : LongId Generator(Default), RandomUUID Generator, TimeBasedUUID Generator. The Id Generators were implemented based on uniqueness and performance.For eg: Long ID Generator will give you less assurance for uniqueness as compared to UUID implementations, while the performance of Long ID generator will better. You are also free to add your own ID generator implementations. | ||
We have benchmark the performance of client with each Id Generator Implementations: | ||
|
||
### Using Long-ID Implementation | ||
![Long-ID Implementation](images/longIDjmhvisulaizer.png) | ||
|
||
### Using Random-UUID-ID Implementation | ||
![Long-ID Implementation](images/randomuuid.png) | ||
|
||
### Using TimeBased-UUID-ID Implementation | ||
![Long-ID Implementation](images/timebaseduuid.png) | ||
|
||
|
||
## To Measure Performance of client | ||
|
||
To measure the performance of the client, you would need to clone: https://github.com/gsoria/opentracing-java-benchmark/tree/master/opentracing-benchmark-simple-java. Once this is complete, update haystack.version in pom.xml with the current version of your haystack client. | ||
Run the following commands (inside on this specific project) | ||
|
||
```bash | ||
mvn clean install | ||
java -jar target/benchmarks.jar | ||
``` | ||
|
||
Once you are done. Use [JMH-visualizer(Online version)](http://jmh.morethan.io/) to present the benchmark results. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.