{"id":16372497,"url":"https://github.com/mgwidmann/flames","last_synced_at":"2026-03-08T20:40:05.420Z","repository":{"id":44300940,"uuid":"61122658","full_name":"mgwidmann/flames","owner":"mgwidmann","description":"Real time error monitoring for Phoenix and Elixir applications.","archived":false,"fork":false,"pushed_at":"2023-12-08T01:02:05.000Z","size":2491,"stargazers_count":38,"open_issues_count":22,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-14T20:20:05.929Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/mgwidmann.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":"2016-06-14T12:53:46.000Z","updated_at":"2023-12-31T04:42:11.000Z","dependencies_parsed_at":"2024-10-11T03:11:38.043Z","dependency_job_id":"70ec2b27-4113-46d3-904e-c2b13796fedc","html_url":"https://github.com/mgwidmann/flames","commit_stats":{"total_commits":56,"total_committers":3,"mean_commits":"18.666666666666668","dds":0.0714285714285714,"last_synced_commit":"92eee61a4d064fda098c508c3a8a33d18d57ef8e"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgwidmann%2Fflames","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgwidmann%2Fflames/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgwidmann%2Fflames/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgwidmann%2Fflames/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgwidmann","download_url":"https://codeload.github.com/mgwidmann/flames/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221665608,"owners_count":16860290,"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-10-11T03:11:34.850Z","updated_at":"2025-12-12T00:15:28.566Z","avatar_url":"https://github.com/mgwidmann.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flames [![hex.pm version](https://img.shields.io/hexpm/v/flames.svg)](https://hex.pm/packages/flames) [![Build Status](https://semaphoreci.com/api/v1/mgwidmann/flames/branches/master/badge.svg)](https://semaphoreci.com/mgwidmann/flames)\n\n![Example Dashboard](example.png)\n\n## Installation\n\nThe package can be installed as:\n\n  1. Add `flames` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [{:flames, \"~\u003e 0.7\"}]\nend\n```\n\n  2. Add configuration to tell `flames` what your repository and (optional) Phoenix Endpoint modules are as well as adding it as a Logger backend:\n\n```elixir\nconfig :flames,\n  repo: MyPhoenixApp.Repo,\n  endpoint: MyPhoenixApp.Endpoint,\n  timezone: \"America/New_York\",\n  table: \"errors\" # Optional, defaults to \"errors\"\n\nconfig :logger,\n  backends: [:console, Flames.Logger]\n```\n\n  3. Add the following migration. Run `mix ecto.gen.migration create_flames_table` to generate a migration file:\n\n```elixir\ndefmodule MyApp.Repo.Migrations.CreateFlamesTable do\n  use Ecto.Migration\n\n  def change do\n    # Make sure this table name matches the above configuration\n    create table(:errors) do\n      add :message, :text\n      add :level, :string\n      add :timestamp, :utc_datetime\n      add :alive, :boolean\n      add :module, :string\n      add :function, :string\n      add :file, :string\n      add :line, :integer\n      add :count, :integer\n      add :hash, :string\n\n      add :incidents, :json\n\n      timestamps()\n    end\n\n    create index(:errors, [:hash])\n    create index(:errors, [:updated_at])\n  end\nend\n```\n\nRun `mix ecto.migrate` to migrate the database.\n\n  4. Add `import Flames.Router` and `flames \"/errors\"` to your Phoenix Router for live updates:\n\n  Router (You should place this under a secure pipeline and secure it yourself)\n  \n```elixir\ndefmodule MyAppWeb.Router do\n  use Phoenix.Router\n  import Flames.Router # \u003c--- Add this here\n\n  scope \"/admin\", MyAppWeb do\n    # Define require_admin plug to ensure public users cannot get here\n    pipe_through [:browser, :require_admin]\n\n    flames \"/errors\" # \u003c--- Add this here\n  end\nend\n```\n\n\n  Visit http://localhost:4000/errors (or wherever you mounted it) to see a live stream of errors.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgwidmann%2Fflames","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgwidmann%2Fflames","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgwidmann%2Fflames/lists"}