{"id":16442885,"url":"https://github.com/akardapolov/ASH-Viewer","last_synced_at":"2025-10-27T03:31:40.872Z","repository":{"id":2041772,"uuid":"1797376","full_name":"akardapolov/ASH-Viewer","owner":"akardapolov","description":"ASH Viewer provides a graphical view of active session history data within the Oracle and PostgreSQL DB","archived":false,"fork":false,"pushed_at":"2023-12-04T11:03:40.000Z","size":10645,"stargazers_count":153,"open_issues_count":35,"forks_count":72,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-04-17T23:05:25.806Z","etag":null,"topics":["data-visualization","gui","oracle","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akardapolov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2011-05-25T05:22:11.000Z","updated_at":"2024-04-17T10:25:26.000Z","dependencies_parsed_at":"2024-01-07T12:54:45.559Z","dependency_job_id":"ea5df38b-b92f-4d84-a731-abb0e8221791","html_url":"https://github.com/akardapolov/ASH-Viewer","commit_stats":{"total_commits":99,"total_committers":4,"mean_commits":24.75,"dds":0.101010101010101,"last_synced_commit":"c669f45dc818f1b511678d8cca24a592d6458250"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2FASH-Viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2FASH-Viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2FASH-Viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akardapolov%2FASH-Viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akardapolov","download_url":"https://codeload.github.com/akardapolov/ASH-Viewer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219861856,"owners_count":16555980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-visualization","gui","oracle","postgresql"],"created_at":"2024-10-11T09:18:54.799Z","updated_at":"2025-10-27T03:31:34.529Z","avatar_url":"https://github.com/akardapolov.png","language":"Java","funding_links":[],"categories":["Monitoring/Statistics/Perfomance"],"sub_categories":["Samples"],"readme":"# ASH Viewer\n\nASH Viewer provides graphical view of active session history data within the database.\n\nSupported databases: Oracle, PostgreSQL\n\n## Table of contents\n\n- [Quick start](#quick-start)\n- [How it works](#how-it-works)\n- [Build](#build)\n- [Security](#security)\n- [Bugs and feature requests](#bugs-and-feature-requests)\n- [Downloads](#downloads)\n- [Based on](#based-on)\n- [License](#license)\n- [Contact](#contact)\n\n![ASH-Viewer](media/main.png)\n\n## Quick start\n- [Download the latest binary file.](https://github.com/akardapolov/ASH-Viewer/releases)\n- Download JDBC driver for your database ([Oracle](https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html), [PostgreSQL](https://jdbc.postgresql.org/download.html))\n- Unpack the binary archive and run ASH-Viewer.jar\n- Open connection dialog and populate them with data (URL for Oracle database: **jdbc:oracle:thin:@host:port:SID**)\n\n ![ASH-Viewer connection dialog](media/connection.png)\n- Press Connect button and start to monitor your system and highlight a range to show details.\n\n ![ASH-Viewer Top activity](media/top.png)\n- Review Raw data interface to gain a deep insight into active session history\n\n![ASH-Viewer raw data](media/raw.png)\n- Double-click on Top sql \u0026 sessions interface to get window with ASH details by sql or session ID\n\n ![ASH-Viewer sql details](media/sql.png)\n\n ![ASH-Viewer session details](media/session.png)\n\n[Return to Table of Contents](#table-of-contents)\n\n## How it works\nActive Session History (ASH) is a view in Oracle database that maps a circular buffer in the SGA.\n  The name of the view is V$ACTIVE_SESSION_HISTORY. This view is populated every second\n  and will only contain data for 'active' sessions, which are defined as sessions\n  waiting on a non-idle event or on a CPU.\n  \nASH Viewer provides graphical Top Activity, similar Top Activity analysis and Drilldown\n    of Oracle Enterprise Manager performance page. ASH Viewer store ASH data locally using\n    embedded database Oracle Berkeley DB Java Edition.\n    \nFor Oracle standard edition and PostgreSQL, ASH Viewer emulate ASH, storing active session data on local storage.\n  \nPlease note that v$active_session_history is a part of the Oracle Diagnostic Pack and requires a purchase of the ODP license.\n\n[Return to Table of Contents](#table-of-contents)\n\n## Build\n\nTo compile the application into an executable jar file, do the following:\n\n1. Install JDK version 11 or higher, Maven and Git on your local computer.\n    ```shell\n    java -version  \n    mvn -version\n    git --version \n    ``` \n2. Download the source codes of the application to your local computer using Git\n\n    ```shell\n    git clone \u003curl source code storage system\u003e\n    cd ASH-Viewer\n    ```\n\n3. Compile the project using Maven\n    ```shell\n    mvn clean compile\n   ```\n\n4. Execute the Maven command to build an executable jar file with tests running\n    ```shell\n     mvn clean package -DskipTests=true \n    ```\n\nAn executable jar file like `ashv-\u003cVERSION\u003e-SNAPSHOT-jar-with-dependencies.jar` will be located at the relative path ashv/target\n\n[Return to Table of Contents](#table-of-contents)\n\n## Security\nEncryption and Container settings provide security for database passwords (go to Other tab -\u003e Security block)\n\n### Encryption\nEncryption setting has AES and PBE options\n- **AES** - Advanced Encryption Standard (AES) with 256-bit key encryption, from the [Bouncy Castle provider](https://www.bouncycastle.org/), [FIPS](https://www.nist.gov/standardsgov/compliance-faqs-federal-information-processing-standards-fips#:~:text=are%20FIPS%20developed%3F-,What%20are%20Federal%20Information%20Processing%20Standards%20(FIPS)%3F,by%20the%20Secretary%20of%20Commerce.) compliant algorithm;\n- **PBE** - Password based encryption (PBE) in PBEWithMD5AndDES mode with secret key (computer name or hostname). This option is weak and deprecated, please use AES when possible;\n\n### Container\nIt's the way to store your encrypted data\n- **DBAPI** - You sensitive data stored in Windows Data Protection API (DPAPI), maximum protected, Windows only;\n- **Registry** - OS System registry storage using java preferences API - weak, but better than **Configuration**;\n- **Configuration** - All data in local configuration file - weak, not recommended;\n\n### Recommendations \n- use **AES** encryption and Windows Data Protection API (**DBAPI**) whenever possible;\n- do not use **PBE** copied configuration on another host, you need to change password with a new secret key (always do it for password leak prevention).\n\n[Return to Table of Contents](#table-of-contents)\n\n## Bugs and feature requests\nIf you found a bug in the code or have a suggestion for improvement, [Please open an issue](https://github.com/akardapolov/ASH-Viewer/issues)  \n\n[Return to Table of Contents](#table-of-contents)\n \n## Downloads\n- [Current version](https://github.com/akardapolov/ASH-Viewer/releases)\n- [Old release 3.5.1 on github.com](https://github.com/akardapolov/ASH-Viewer/releases/tag/v3.5.1)\n- [Mirror on sourceforge.net](https://sourceforge.net/projects/ashv/files/)   \n\n[Return to Table of Contents](#table-of-contents)\n\n## Based on\n- [JFreeChart by David Gilbert](http://www.jfree.org)\n- [E-Gantt Library by Keith Long](https://github.com/akardapolov/ASH-Viewer/tree/master/egantt)\n- [Berkeley DB Java Edition](http://www.oracle.com/database/berkeley-db)\n- [SwingLabs GUI toolkit by alexfromsun, kleopatra, rbair and other](https://en.wikipedia.org/wiki/SwingLabs)\n- [Dagger 2 by Google](https://dagger.dev/)\n- [AES cipher by Bouncy Castle](https://www.bouncycastle.org/)\n- [Windows DPAPI Wrapper by @peter-gergely-horvath](https://github.com/peter-gergely-horvath/windpapi4j)\n\n[Return to Table of Contents](#table-of-contents)\n\n## License\n[![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](http://perso.crans.org/besson/LICENSE.html)\n\n  Code released under the GNU General Public License v3.0\n\n[Return to Table of Contents](#table-of-contents)\n\n## Contact\n  Created by [@akardapolov](mailto:akardapolov@gmail.com) - feel free to contact me!\n\n[Return to Table of Contents](#table-of-contents)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakardapolov%2FASH-Viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakardapolov%2FASH-Viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakardapolov%2FASH-Viewer/lists"}