EngineeringWiki
  • Introduction
  • Top level Overview of the application
  • FAQs
  • Back End
    • Agent Pipeline
    • Mention Pipeline
    • Profile Pipeline
    • Errors
    • Overview of the Mention/Profile/Cluster Process
    • Adding a New Service
    • Activity and Status Tracking
  • Setup
    • Overview
    • How to Setup Your Local Machine
    • Setup - Cloud Machine
    • Infrastructure
    • Docker
    • Bash Commands
    • Setting up front end in Ubuntu 16.04 desktop
  • Gems/Libraries
    • Bax
    • Creating fixtures for Unit Tests
    • Audienti-Retriever
    • Scour
    • Haystack
    • Audienti-Indexer
    • Audienti-Api
    • Handler
    • Blackbook
    • Allusion
  • Code
    • Multi-step Modal Wizard
    • Structure
    • Audienti DataTables
    • Javascript
      • Passing Props From Root
      • Looping in JS
      • Binding Actions to App
      • CSSTransitionGroup
      • Code Best Practices
      • Reducer Updating an Array with Item in Middle
      • Organizing Javascript
      • Filter Array by Id
    • Design Language
  • Working
    • PostgresSQL
    • S3
    • Terminology
    • Interview Tests
    • Application Descriptions
    • Best Practices
      • Code Organization
      • Code Documentation (using Yard)
      • Git Workflow
      • Tasks and Queues
      • Working in Backend
    • Profiles & Enrichment
      • Profile ID Rules
  • Management
    • API Management
    • Bastion
    • Splash Proxy
    • Rancher
      • OpenVPN Server
      • Traefik Reverse Proxy
  • Teams & Interviews
    • Interview Questions
  • Culture
    • What Makes a World Class Engineer
  • Situational Statuses
    • 2017-11-03
    • 2018-01-09
  • Operations
Powered by GitBook
On this page
  1. Back End

Errors

The system uses AirBrake to track and monitor logs. These are setup in the /initailizer for audienti_config.rb. Right now, we simply duplicate Airbrake's class into one called AppError, and use its methods natively. soon, we will modify the notify to include StatsD logging as well.

# Examples of how this works
AppError.notify('App crashed!', {
  anything: 'you',
  wish: 'to add'
})

AppError.notify('App crashed') do |notice|
  notice[:params][:foo] = :bar
end

AppError.notify_sync('App crashed!')

First parameter can be

  • an Exception (will be sent directly)

  • any object that can be converted to String with #to_s (the information from the object will be used as the message of a RuntimeException that we build internally)

  • an Airbrake::Notice

PreviousProfile PipelineNextOverview of the Mention/Profile/Cluster Process

Last updated 7 years ago