A web tool to visualize and compare plain text data with Android Macrobenchmark data support
Yeah, correct, he's saying "Benchart"
Screen.Recording.2022-11-26.at.2.36.55.PM.mov
Let's start with some sample log data to learn the basics.
- Benchart accepts input as plain text.
- A block is a chunk of information that you can compare.
- Blocks are separated by a blank line.
- The first line of the block will be treated as the header line.
- In the above example,
# before
and# after
.
- In the above example,
- Remaining lines will be treated as input lines.
- In an input line, the last number is treated as the value, and anything before that as the key.
- For example, given the input line
myFirstFunction() = 90ms
, the key will bemyFirstFunction
, and the value will be90
.
- For example, given the input line
- All special characters will be stripped out from all the lines (e.g.,
(
,)
,=
,#
).
- The X-axis of the chart is for keys.
- The Y-axis of the chart is for values.
- Headers will be given as legend.
- The result compares the blocks and shows 2 states:
better
: a decrease in value.worse
: an increase in value.
- Each result line shows the change in percentage as well as the change in value.
You can swap the blocks, and the results will also be swapped (see the above example to find the difference).
You can have n
number of blocks. The first word of the header will be considered a group. When you have multiple blocks starting with the same word, the result will be the average of those blocks. See the example below.
To color the same group with the same color on the chart, enable Auto Group.
In a block, if there are multiple lines with the same key, they will be averaged.
You'll see a new element called Focus Group when auto average is performed.
Selecting a group from the Focus Group dropdown will show each value in the chart.
You can paste your Macrobenchmark result data into the input box, and it'll draw custom charts for each metric.
π€ theapache64
- Twitter: @theapache64
- Email: [email protected]
Feel free to ping me π
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Open an issue first to discuss what you would like to change.
- Fork the project.
- Create your feature branch (
git checkout -b feature/amazing-feature
). - Commit your changes (
git commit -m 'Add some amazing feature'
). - Push to the branch (
git push origin feature/amazing-feature
). - Open a pull request.
Please make sure to update tests as appropriate.
Give a βοΈ if this project helped you!
Copyright Β© 2024 - theapache64
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This README was generated by readgen β€