{"id":19134066,"url":"https://github.com/umbrellio/umbrtonic","last_synced_at":"2026-06-23T14:32:10.940Z","repository":{"id":54199611,"uuid":"337995785","full_name":"umbrellio/umbrtonic","owner":"umbrellio","description":"Gem for transferring Active Support Instrumentation events to the InfluxDB database via UDP without boilerplate code.","archived":false,"fork":false,"pushed_at":"2021-03-05T07:03:33.000Z","size":13,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-11-13T14:26:35.068Z","etag":null,"topics":["activesupport-notifications","events","influxdb","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umbrellio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-11T10:26:00.000Z","updated_at":"2022-11-14T17:40:11.000Z","dependencies_parsed_at":"2022-08-13T09:00:56.680Z","dependency_job_id":null,"html_url":"https://github.com/umbrellio/umbrtonic","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/umbrellio/umbrtonic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umbrellio%2Fumbrtonic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umbrellio%2Fumbrtonic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umbrellio%2Fumbrtonic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umbrellio%2Fumbrtonic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umbrellio","download_url":"https://codeload.github.com/umbrellio/umbrtonic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umbrellio%2Fumbrtonic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34694780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["activesupport-notifications","events","influxdb","ruby"],"created_at":"2024-11-09T06:25:19.703Z","updated_at":"2026-06-23T14:32:10.908Z","avatar_url":"https://github.com/umbrellio.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Umbrtonic\n\n[![Gem Version](https://badge.fury.io/rb/umbrtonic.svg)](https://badge.fury.io/rb/umbrtonic)\n[![build](https://github.com/umbrellio/umbrtonic/workflows/build/badge.svg)](https://github.com/umbrellio/umbrtonic/actions)\n\nGem for transferring Active Support Instrumentation events \nto the InfluxDB database via UDP without boilerplate code.\n\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'umbrtonic'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install umbrtonic\n\n\n## Configuration\nUnder the hood Umbrtonic uses [Qonfig](https://github.com/0exp/qonfig) gem.\n\nBy default, gem sends data to 127.0.0.1:8089. You are able to change this easily:\n\n```ruby\nUmbrtonic.configure do |conf|\n  conf.influxdb.host = \"another.machine\"\n  conf.influxdb.port = 4444\nend\n```\n\n\n### Using a custom prefix\nOptionally you are able to set a prefix:\n\n```ruby\nUmbrtonic.configure do |conf|\n  conf.prefix = \"my_app\"\nend\n```\n\nFor example, when you subscribe to `actions`, \npoints to InfluxDB will be sent as `my_app_actions`.\n\nAlternatively, it is possible to configure with file:\n\n```yaml\nproduction:\n  prefix: custom\n  influxdb:\n    host: 127.0.0.1\n    port: 8094\n# etc\n```\n\nand then load configuration:\n\n```ruby\nUmbrtonic.config.load_from_yaml(\n  Rails.root / \"config\" / \"umbrtonic.yml\",\n  expose: Rails.env\n)\n```\n\n## Usage\n```ruby\nUmbrtonic.bind(\"process_action.action_controller\") do |inf, event, payload|\n  inf.values(\n    count:      1, \n    duration:   event.duration, \n    db_runtime: event.payload[:db_runtime],\n  )\n  \n  inf.tags(\n    controller: payload[:controller], \n    action:     payload[:action],\n  )\nend\n```\n\nGem provides instance of InfluxDB data builder\nand information about the event and payload for quick access:\n\n```ruby\nUmbrtonic.bind(\"process_action.action_controller\") do |inf, event, payload|\n  event.name     # =\u003e \"process_action.action_controller\"\n  event.duration # =\u003e 10 (in milliseconds)\n  event.payload  # =\u003e event-specific payload \n\n  payload        # =\u003e event-specific payload, alias for event.payload \nend\n```\n\n\n\nSee more information about Active Support Notifications \n[here](https://guides.rubyonrails.org/active_support_instrumentation.html)\n\nYou are able to set custom name for event:\n\n```ruby\nUmbrtonic.bind(\"process_action.action_controller\", measurement: \"actions\") do |inf, event, payload|\n  # your bindings\nend\n```\n\nIn this example events will be sent as `actions`.\n\nThere is complete list of \n[Ruby on Rails hooks](https://guides.rubyonrails.org/v5.1/active_support_instrumentation.html#rails-framework-hooks)\n\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub \nat https://github.com/umbrellio/umbrtonic.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumbrellio%2Fumbrtonic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumbrellio%2Fumbrtonic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumbrellio%2Fumbrtonic/lists"}