Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bhacaz/solid_apm
SolidApm is a DB base engine for Application Performance Monitoring.
https://github.com/bhacaz/solid_apm
apm engine performance rails railties
Last synced: 28 days ago
JSON representation
SolidApm is a DB base engine for Application Performance Monitoring.
- Host: GitHub
- URL: https://github.com/bhacaz/solid_apm
- Owner: Bhacaz
- License: mit
- Created: 2024-05-14T00:17:51.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-06-15T01:35:07.000Z (5 months ago)
- Last Synced: 2024-09-22T22:31:15.941Z (about 2 months ago)
- Topics: apm, engine, performance, rails, railties
- Language: Ruby
- Homepage:
- Size: 885 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Gem Version](https://badge.fury.io/rb/solid_apm.svg)](https://badge.fury.io/rb/solid_apm)
# SolidApm
Rails engine to manage APM data without using a third party service.
## Installation
Add to your Gemfile:
```shell
bin/bundle add solid_apm
```Mount the engine in your routes file:
```ruby
# config/routes.rb
Rails.application.routes.draw do
mount SolidApm::Engine => "/solid_apm"
end
```Routing constraint can be use to authorize access.
See [Routing constraint](https://guides.rubyonrails.org/routing.html#advanced-constraints)
for more information.Configure the database connection:
```ruby
# config/initializers/solid_apm.rb
SolidApm.connects_to = { database: { writing: :solid_apm } }
```Install and run the migrations:
```shell
DATABASE=solid_apm bin/rails solid_apm:install:migrations
```## Usage
Go to `http://localhost:3000/solid_apm` and start monitoring your application.
Add context
```ruby
class ApplicationController
before_action do
SolidApm.set_context(user_id: current_user&.id)
end
end
```## TODOs
### Features
- [ ] Better handle subscribing to ActiveSupport notifications
- [ ] Custom events### Interface
- [ ] Paginate transactions list
- [ ] Allow date range transactions index## Contributing
Contribution directions go here.## Release
```shell
bin/bump major|minor|patch
# GitHub Actions will take care of the rest
```## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).