App_perf

Open source application performance monitoring tool with emphasis on ease of setup and use. Providing similar functionality like NewRelic/AppNeta/Skylight etc.
Alternatives To App_perf
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Uptime Kuma38,966
7 hours ago1October 14, 2021936mitJavaScript
A fancy self-hosted monitoring tool
Sentry35,22325 hours ago7November 04, 20161,676otherPython
Developer-first error tracking and performance monitoring
Systeminformer9,434
9 hours ago123mitC
A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ http://www.windows-internals.com
Eul8,013
a year ago59mitSwift
🖥️ macOS status monitoring app written in SwiftUI.
Auto Cpufreq4,212
a day ago35lgpl-3.0Python
Automatic CPU speed & power optimizer for Linux
Gatus4,073
10 hours ago70July 02, 202397apache-2.0Go
⛑ Automated developer-oriented status page
Monitoror3,977
8 months ago7January 13, 202167mitGo
Unified monitoring wallboard — Light, ergonomic and reliable monitoring for anything.
Hertzbeat3,544
4 days ago148apache-2.0Java
An open source, real-time monitoring system with custom-monitoring, high performance cluster and agentless. Support monitoring web, database, os, middleware, cloudnative, network and more.
Uptime3,538345 years ago7December 07, 2012145mitJavaScript
A remote monitoring application using Node.js, MongoDB, and Twitter Bootstrap.
Express Status Monitor3,510765804 months ago42February 26, 202250mitJavaScript
🚀 Realtime Monitoring solution for Node.js/Express.js apps, inspired by status.github.com, sponsored by https://dynobase.dev
Alternatives To App_perf
Select To Compare


Alternative Project Comparisons
Readme

AppPerf (Application Performance Monitoring)

Build Status

Join Slack using this link: https://join.slack.com/t/app-perf/shared_invite/zt-3opre7mb-OUBLj1iElF1EBuH86qSG5Q

More images are at the bottom.

Overview

NOTE: This application is in extremely beginning stages and I am still working out flows and learning the data model. I will be cleaning code up as I go.

This is a application monitoring app. I am trying to build an open source, easy to setup, performance monitoring tool.

Prerequisites

Before you set up AppPerf, you need to make sure the following is installed and functional.

  • Yarn
  • Node
  • PostgreSQL
  • Mailcatcher, or another smtp mail server (In Development, if you want to send emails)

If you are on Mac, you should be able to install them with the following commands:

brew install yarn
brew install node
brew install postgresql

Setup (Localhost)

Setup should be straightforward and easy. We use foreman to manage processes. Begin by running the setup script:

./bin/setup

This should create and setup the database and any other needed services/apps. Then to start everything up, run foreman:

bundle exec foreman start

Setup (Docker)

AppPerf supports using Docker and Docker Compose. Just run the following and you should be good to go:

docker-compose build
docker-compose up

Navigate to http://localhost:5000. This application is setup to report to itself so you can begin seeing information immediately!

Setup (Kubernetes)

AppPerf can be easily deployed to any Kubernetes cluster using Helm (both v3 and v2 supported) with the chart provided. There are a few simple steps for this:

  1. With Helm v3 you need to create a namespace first, i.e.:
kubectl create ns app-perf

The above is not required with Helm v2 since it creates the namespace automatically.

  1. Edit ./chart/values.yaml as needed with the required information, including connection strings for the Postgres and Redis databases and an optional ingress resource with TLS certificate to expose the app to the web.

  2. Finally you can install AppPerf with the following command:

helm upgrade --install \
  --namespace app-perf \
  -f ./chart/values.yaml \
  app-perf \
 ./chart

Default Login

AppPerf has a sample account allowing you to check out the application

username: [email protected]
password: password

Using Other databases

SQLite has some limitation with concurrency in this app, as well as various date functions used for reporting. If you would rather test against postgresql (Mysql to come), you can run the following command to create a local development database running on port 5443 (Must have postgresql installed):

./bin/setup_psql

Note: Don't forget to update your config/database.yml file.

Adding Applications

App Perf will automatically detect new applications that are posting data and display them in the Applications page. From there you can go to each individual application to view the performance metrics.

In order to monitor an application, you have to add the Ruby Agent gem to the Gemfile:

gem "app_perf_rpm"

Once you have add the gem, Add the following lines to your project (or in an initializer):

require 'app_perf_rpm'

AppPerfRpm.configure do |rpm|
  rpm.license_key = "License Key"
  rpm.application_name = "Application Name"
end

You can get your license key by visiting the Applications tab and clicking the "New Application" button.

Adding servers

Install the App Perf Agent gem:

gem install app_perf_agent

Then run the following command on your server:

app_perf_agent --license LICENSE_KEY --host HOST

More information is on the Edit Organization page.

How the data model works

Adding metrics to App Perf is as simple as posting data to the following endpoint:

POST http://domain/api/listener/:protocol_version/:license_key

Currently the only protocol version supported is 2. License key is generated when you create a new user account. There is a default one that is used for testing in the .env.development file.

TODO: Add examples of how to submit data.

Contributing to the App Perf RPM or Agent

Clone the github project at randy-girard/app_perf_rpm or randy-girard/app_perf_agent somewhere locally, then run the following command for the RPM to force bundler to look at that specific path:

bundle config local.app_perf_rpm /path/to/local/app_perf_rpm

To remove this configuration, run the following command:

bundle config --delete local.app_perf_rpm

Trace

Database

Host

Error

Popular Monitor Projects
Popular Monitoring Projects
Popular Operations Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Ruby
Ruby On Rails
Metrics
Monitoring
Monitor
Performance
Helm
Apm
Performance Monitoring