<commit_before>HdrHistogramVisualizer
========

Visualizer for HdrHistogram and jHiccup logs

* [HdrHistogram](https://github.com/HdrHistogram/HdrHistogram)
* [jHiccup](https://github.com/giltene/jHiccup) by [Azul](http://www.azulsystems.com/product/jHiccup)

This tool can serve as an alternative to the jHiccupLogProcessor and jHiccupPlotter utilities that are bundled with jHiccup.

<h2>Maven</h2>
execute from commandline
<pre>mvn clean compile test exec:java</pre>

create executable jar
<pre>mvn clean package</pre>

<h2>Screenshots</h2>

* **Exported png image**
![Exported png image](https://raw.githubusercontent.com/ennerf/HdrHistogramVisualizer/resources/screenshots/chart-export.png "PNG image export")

* **Main Screen**
![Screenshot of main screen](https://raw.githubusercontent.com/ennerf/HdrHistogramVisualizer/resources/screenshots/main-view.png "Main screen")

<h2>Notes</h2>
I've primarily created this project for personal use and to become more familiar with charts in JavaFX. However, if there is any external interest, I'm willing to put some more time into it.<commit_msg>added some explanatory instructions<commit_after>HdrHistogramVisualizer
========

Visualizer for HdrHistogram and jHiccup logs

* [HdrHistogram](https://github.com/HdrHistogram/HdrHistogram)
* [jHiccup](https://github.com/giltene/jHiccup) by [Azul](http://www.azulsystems.com/product/jHiccup)

This tool can serve as an alternative to the jHiccupLogProcessor and jHiccupPlotter utilities that are bundled with jHiccup.

<h2>Maven</h2>
execute from commandline
<pre>mvn clean compile test exec:java</pre>

create executable jar
<pre>mvn clean package</pre>

<h2>Screenshots</h2>

* **Exported png image**
![Exported png image](https://raw.githubusercontent.com/ennerf/HdrHistogramVisualizer/resources/screenshots/chart-export-2.png "PNG image export")

* **Main Screen**
![Screenshot of main screen](https://raw.githubusercontent.com/ennerf/HdrHistogramVisualizer/resources/screenshots/main-view.png "Main screen")

<h2>Instructions</h2>

**Clear all** removes any existing data from the charts before loading new data. Deactivate this flag if you want to plot multiple lines.

**Export png** saves a snapshot of the current chart region. Be aware of this in case all exported images should have the same resolution.

**Export Log** internally uses the same methods as jHiccupLogProcessor. The input options are mapped to the corresponding commandline options.

**-csv** adds the '-csv' option to log export. It does not have an effect on the visualization.

<h2>Notes</h2>

I've primarily created this project for internal use and to experiment with charts in JavaFX, and have only implemented the functionality that I tend to need. If you find that you are missing a feature, just create an issue and I'll see whether I can add it.

{'fraction_non_alphanumeric': 0.10038882997525628, 'fraction_numerical': 0.005302226935312832, 'mean_word_length': 5.566125290023201, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '158846', 'n_tokens_mistral': 896, 'n_tokens_neox': 857, 'n_words': 292}