https://github.com/scm-manager/scm-metrics-prometheus-plugin
Provide SCM-Manager Metrics for Prometheus
https://github.com/scm-manager/scm-metrics-prometheus-plugin
metrics prometheus scm-manager
Last synced: 2 months ago
JSON representation
Provide SCM-Manager Metrics for Prometheus
- Host: GitHub
- URL: https://github.com/scm-manager/scm-metrics-prometheus-plugin
- Owner: scm-manager
- License: agpl-3.0
- Created: 2021-03-09T15:05:30.000Z (about 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-09-11T13:44:34.000Z (8 months ago)
- Last Synced: 2025-01-05T07:16:40.823Z (4 months ago)
- Topics: metrics, prometheus, scm-manager
- Language: Java
- Homepage:
- Size: 146 KB
- Stars: 1
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-HEADER.txt
Awesome Lists containing this project
README
Prometheus MetricsProvide SCM-Manager Metrics for Prometheus
## Usage
Find out how this plugin can be used on the [user documentation page](https://scm-manager.org/plugins/scm-metrics-prometheus-plugin/docs).
## Testing
In order to test the plugin with prometheus, docker in version 20.10 or higher na docker-compose is required.
```bash
# start the plugin
./gradlew run# start prometheus
docker-compose up
```Prometheus is already configured to scrape scm-manager and should be running at http://localhost:9090
## Gradle tasks
The plugin can be compiled and packaged with the following tasks:
* clean - `gradle clean` - deletes the build directory
* run - `gradle run` - starts an SCM-Manager with the plugin pre-installed and with livereload for the ui
* build - `gradle build` - executes all checks, tests and builds the smp inclusive javadoc and source jar
* test - `gradle test` - run all java tests
* ui-test - `gradle ui-test` - run all ui tests
* check - `gradle check` - executes all registered checks and tests (java and ui)
* fix - `gradle fix` - fixes all fixable findings of the check task
* smp - `gradle smp` - Builds the smp file, without the execution of checks and testsFor the development and testing the `run` task of the plugin can be used:
* run - `gradle run` - starts scm-manager with the plugin pre-installed.
If the plugin was started with `gradle run`, the default browser of the os should be automatically opened.
If the browser does not start automatically, start it manually and go to [http://localhost:8081/scm](http://localhost:8081/scm).In this mode each change to web files (src/main/js or src/main/webapp), should trigger reload of the browser with the made changes.
## Directory & File structure
A quick look at the files and directories you'll see in an SCM-Manager project.
.
├── node_modules/
├── src/
| ├── main/
| | ├── java/
| | ├── js/
| | └── resources/
| └── test/
| ├── java/
| └── resources/
├── .editorconfig
├── .gitignore
├── build.gradle
├── CHANGELOG.md
├── gradle.properties
├── gradlew
├── LICENSE.txt
├── package.json
├── README.md
├── settings.gradle
├── tsconfig.json
└── yarn.lock1. **`node_modules/`**: This directory contains all modules of code that your project depends on (npm packages) are automatically installed.
2. **`src/`**: This directory will contain all code related to what you see or not. `src` is a convention for “source code”.
1. **`main/`**
1. **`java/`**: This directory contains the Java code.
2. **`js/`**: This directory contains the JavaScript code for the web ui, inclusive unit tests: suffixed with `.test.ts`
3. **`resources/`**: This directory contains the classpath resources.
2. **`test/`**
1. **`java/`**: This directory contains the Java unit tests.
2. **`resources/`**: This directory contains classpath resources for unit tests.3. **`.editorconfig`**: This is a configuration file for your editor using [EditorConfig](https://editorconfig.org/). The file specifies a style that IDEs use for code.
4. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
5. **`build.gradle`**: Gradle build configuration, which also includes things like metadata.
6. **`CHANGELOG.md`**: All notable changes to this project will be documented in this file.
7. **`gradle.properties`**: Defines the module version.
8. **`gradlew`**: Bundled gradle wrapper if you don't have gradle installed.
9. **`LICENSE.txt`**: This project is licensed under AGPLv3.
10. **`package.json`**: Here you can find the dependency/build configuration and dependencies for the frontend.
11. **`README.md`**: This file, containing useful reference information about the project.
12. **`settings.gradle`**: Gradle settings configuration.
13. **`tsconfig.json`** This is the typescript configuration file.
14. **`yarn.lock`**: This is the ui dependency configuration.
## Need help?
Looking for more guidance? Full documentation lives on our [homepage](https://scm-manager.org/docs/) or the dedicated pages for our [plugins](https://scm-manager.org/plugins/). Do you have further ideas or need support?
- **Community Support** - Contact the SCM-Manager support team for questions about SCM-Manager, to report bugs or to request features through the official channels. [Find more about this here](https://scm-manager.org/support/).
- **Enterprise Support** - Do you require support with the integration of SCM-Manager into your processes, with the customization of the tool or simply a service level agreement (SLA)? **Contact our development partner Cloudogu! Their team is looking forward to discussing your individual requirements with you and will be more than happy to give you a quote.** [Request Enterprise Support](https://cloudogu.com/en/scm-manager-enterprise/).