Skip to content

πŸ“Š A web tool to visualise and compare plain text data. Support Android's Macrobenchmark output

Notifications You must be signed in to change notification settings

theapache64/benchart

Repository files navigation

πŸ“Š benchart

A web tool to visualize and compare plain text data with Android Macrobenchmark data support

Twitter: theapache64

virat-kohli-ben-stokes

Yeah, correct, he's saying "Benchart"

✨ Demo

Screen.Recording.2022-11-26.at.2.36.55.PM.mov

🐣 Getting Started

Let's start with some sample log data to learn the basics.

image

πŸ“„ Input

  • 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.
  • 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 be myFirstFunction, and the value will be 90.
  • All special characters will be stripped out from all the lines (e.g., (, ), =, #).

πŸ“Š Visualization

  • The X-axis of the chart is for keys.
  • The Y-axis of the chart is for values.
  • Headers will be given as legend.

πŸ’» Result

  • 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.

πŸ”ƒ The Swap

You can swap the blocks, and the results will also be swapped (see the above example to find the difference).

🧱 Multi-blocks

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.

image

πŸ‘₯ Auto Group

To color the same group with the same color on the chart, enable Auto Group.

image

βž— Auto Average

In a block, if there are multiple lines with the same key, they will be averaged.

image

🎯 Focus Group

You'll see a new element called Focus Group when auto average is performed.

image

Selecting a group from the Focus Group dropdown will show each value in the chart.

image

πŸ€– Android Support

You can paste your Macrobenchmark result data into the input box, and it'll draw custom charts for each metric.

image

⭐️ Star History

Star History Chart

✍️ Author

πŸ‘€ theapache64

Feel free to ping me πŸ˜‰

🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Open an issue first to discuss what you would like to change.
  2. Fork the project.
  3. Create your feature branch (git checkout -b feature/amazing-feature).
  4. Commit your changes (git commit -m 'Add some amazing feature').
  5. Push to the branch (git push origin feature/amazing-feature).
  6. Open a pull request.

Please make sure to update tests as appropriate.

❀ Show Your Support

Give a ⭐️ if this project helped you!

Patron Link Buy Me A Coffee

πŸ“ License

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 ❀

About

πŸ“Š A web tool to visualise and compare plain text data. Support Android's Macrobenchmark output

Topics

Resources

Stars

Watchers

Forks