{"id":22277384,"url":"https://github.com/tomvit/yamc","last_synced_at":"2025-03-27T00:43:43.793Z","repository":{"id":170060363,"uuid":"447355540","full_name":"tomvit/yamc","owner":"tomvit","description":"Yet Another Metric Collector","archived":false,"fork":false,"pushed_at":"2023-05-27T14:13:45.000Z","size":169,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T06:23:10.988Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomvit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-12T20:06:30.000Z","updated_at":"2023-03-18T15:06:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"8f1e8776-2c6c-4239-98a9-62f13dcf0b59","html_url":"https://github.com/tomvit/yamc","commit_stats":null,"previous_names":["tomvit/yamc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomvit%2Fyamc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomvit%2Fyamc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomvit%2Fyamc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomvit%2Fyamc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomvit","download_url":"https://codeload.github.com/tomvit/yamc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245760917,"owners_count":20667893,"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":[],"created_at":"2024-12-03T14:58:12.032Z","updated_at":"2025-03-27T00:43:43.775Z","avatar_url":"https://github.com/tomvit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# $ yamc\n\nYet Another Metric Collector (yamc) is a metric collector framework written in Python. It decouples the three main metric collector components namely providers, collectors and writers. Providers provide access to data by means of various access mechanisms and data formats. Writers provide operations to write data to destinations such as DBs or a file system. Collectors call providers' API to retrieve data and writers' API to write the data. They can run on regular intervals or subscribe to providers' events.  \n\nyamc uses a plugin architecture where providers, collectors and writers can be provided by different packages.  \n\n## Development environment setup\n\nIn order to setup the development environment for yamc, follow the below steps.\n\n1. Clone the yamc source code to a directory of your choice `${yamc}`.\n\n   ```\n   $ git clone https://github.com/tomvit/yamc\n   ```\n\n2. Create a Python virtual python and install required packages. Note that the virtual environment name must be `yamc-env`.\n   ```\n   $ cd ${yamc}/bin\n   $ python3 -m venv yamc-env\n   $ source ./evn.sh\n   $ pip install -r requirements-base.txt\n   ```\n\n3. (optional) If you are using yamc plugins for the Oracle DB and `dms-collector`, you will also need to install the required packages as follows.\n\n  ```\n  $ pip install -r requirements-oracle.txt\n  ```  \n\n   In additiona, enable the Oracle yamc plugins in `${yamc}/bin/env.sh` by uncommenting the corresponding lines with `PYTHONPATH` environment variable that specify location of the plugins. You will then need to load the `env.sh` again.\n\n\n4. Run `yamc` command line.\n\n   ```\n   $ yamc --help\n   usage: yamc [-h] --config \u003cfile\u003e [--env \u003cfile\u003e] [--test]  \n   [--show-config] [--debug | --trace]\n\n   Yet another metric collector\n\n   optional arguments:\n     -h, --help       show this help message and exit\n\n   required arguments:\n     --config \u003cfile\u003e  Configuration file\n\n   other optional arguments:\n     --env \u003cfile\u003e     Environment variables file\n     --test           Run in the test mode with disabled writing activities\n     --show-config    Show consolidated configuration before validation\n     --debug          Print debug details in the log\n     --trace          Print even more details in the log\n   ```\n\n5. Create toyr configuration file in `${yamc}/config` directory and an environment variable file if your configuration is parametrized. Run the yamc server as follows.\n\n   ```\n   $ yamc --config config/mqqt-config.yaml\n   ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomvit%2Fyamc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomvit%2Fyamc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomvit%2Fyamc/lists"}