From 06044842de5568a1ec638e6c985bd0398b11414c Mon Sep 17 00:00:00 2001 From: Yasen Pramatarov Date: Wed, 12 Jun 2024 19:07:06 +0300 Subject: [PATCH] Prepares for release 0.1 --- README.md | 52 +++++++++++++++++++++++++++++++++++++++++++++++----- jilo | 17 ++++++++++++++++- jilo-cli | 17 ++++++++++++++++- 3 files changed, 79 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6b8b161..0f46410 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,60 @@ -# jilo +# jilo - JItsi Logs Observer -JItsi Logs Observer +## overview + +Bash scripts for collecting and displaying information about conference events from Jitsi Meet logs. + +The webpage for this project is https://lindeas.com/jilo. The main git repo is: +- https://code.lindeas.com/lindeas/jilo + +It is mirrored at: +- https://codeberg.org/lindeas/jilo +- https://github.com/lindeas/jilo +- https://gitlab.com/lindeas/jilo + +You can use any of these git repos to get the program. + +You are welcome to send feedback with issues, comments and pull requests to a git mirror you prefer. + +## version + +Current version: **0.1** released on **2024-06-12** + +## components Currently this has two components: -- **jilo** is the script for collecting data from the logs. +- `jilo` is the script for collecting data from the logs. It is meant to be installed and run on the server and it needs read permissions for the logs. Currently it works with Videobridge and Jicofo log files. You can run it with cron to periodically update the new data from the logs. -- **jilo-cli** is a command line client for displaying stats from an already populated jilo database +- `jilo-cli` is a command line client for displaying stats from an already populated jilo database It needs access to the jilo database. -The database can be an SQLite file or MySQL/MariaDB database. The default is local sqlite file. +## installation + +Clone the git repo: +```bash +git clone https://github.com/lindeas/jilo.git +cd jilo +``` + +## config The config file **jilo.conf** overrides the default settings. For more details check the comments in the scripts or use the --help option + +## database + +The database can be an SQLite file or MySQL/MariaDB database. The default is local sqlite file. + +## running + +You can run `jilo` once or add it to a crontab. If you run it periodically it will keep track of all. +events, detecting when the logs rotate and continuing from where it left on the previous run. + +Use `jilo-cli` to visualize the info from the database that was gathered previously with `jilo` + +`jilo-cli` can search for conference and participant events, and display events in a given time period.. +Where appropriate, combine `jilo-cli` with sort, wc and other tools to get total numbers. diff --git a/jilo b/jilo index 5ba0682..6134950 100755 --- a/jilo +++ b/jilo @@ -6,6 +6,9 @@ # Bash script for Jitsi Meet components (Videobridge, Jicofo, etc.) logs parsing ### +VERSION="0.1" +RELEASE_DATE="2024-06-12" + SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" #" ### Configuration file (overrides default configs) @@ -128,7 +131,15 @@ help="Usage: --create-db|-d - create the database --flush|-f - flush the tables --check|-c [-v] - check for new data [verbosely] - --parse|-p [-v] - parse the logs [verbosely]" + --parse|-p [-v] - parse the logs [verbosely] + --help|-h - show this help message + --version|-V - show version" + +version="JILO Jitsi Logs Observer + jilo_${VERSION}_${RELEASE_DATE} + version $VERSION + released on $RELEASE_DATE" + ### @@ -487,6 +498,10 @@ for arg in "${args[@]}"; do echo -e "$help" exit 0 ;; + -V | --version) + echo -e "$version" + exit 0 + ;; *) echo "Invalid option: -$OPTARG" >&2 echo -e "$help" diff --git a/jilo-cli b/jilo-cli index efa5fd7..9cf4d61 100755 --- a/jilo-cli +++ b/jilo-cli @@ -7,6 +7,9 @@ # Command line interface (jilo-cli) ### +VERSION="0.1" +RELEASE_DATE="2024-06-12" + SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" #" ### Configuration file (overrides default configs) @@ -383,7 +386,15 @@ help="Usage: Options: --conference|-c [conference ID or name] - show specific conference(s), all of empty --participant|-p [participant endpoint ID, conference ID, participant IP, or participant stats ID] - show specific participant(s), all if empty - --time|-t - show stats for a time interval" + --time|-t - show stats for a time interval + --help|-h - show this help message + --version|-V - show version" + +version="JILO Jitsi Logs Observer command line client + jilo-cli_${VERSION}_${RELEASE_DATE} + version $VERSION + released on $RELEASE_DATE" + ### @@ -544,6 +555,10 @@ while [[ $# -gt 0 ]]; do echo -e "$help" exit 0 ;; + -V | --version) + echo -e "$version" + exit 0 + ;; *) echo "Invalid option: $1" >&2 echo -e "$help"