INF397 Full Stack Technologies View Schedule Print


  • Collecting vs Reporting metrics
  • User Analytics
  • App Performance
  • Dashboards
  • Alerts

Collecting vs Reporting metrics

  • Reporting: application activly send metrics
  • Collecting: external agent collects data about the application
  • Healthcheck: asking the application if everything is ok

User Analytics

Client-side user-related metrics

  • Audience: who are our users?
    age, gender, language, location
  • Acquisition: where did the users come from?
    direct, search, social, referral
  • Behavior: how are the users using the site?
    visit length, pages viewed, buttons clicked

Dashboards: Google Analytics

App Performance

Server-side app-related metrics

  • Resources: how much is our app consuming?
  • Throughput: how much traffic can our app handle?
  • Events: what functionality is running and when?
  • Errors: what isn't working and why?

Dashboards: Grafana


Recieve email/sms notification if something goes wrong. For example:

  • if response-time jumps over some threshold
  • if the number of errors jumps over some threshold
  • if a particular service is not responding
  • if a server runs out of cpu/memory/disk


Using statsd to report metrics

    var StatsD = require('node-statsd');
    var client = new StatsD();

    client.timing('my_app.response_time', 42);



    client.gauge('my_app.running_tasks', 123);


Course Schedule:

week 1 03.02.2017 History of the web Fullstack Principles Development Processes Agile Processes DevOps Basics Git
week 2 10.02.2017 Frontend Overview Backend Overview Network Overview Testing JavaScript Overview JavaScript Tooling
week 3 17.02.2017 Web Architectures RESTful principles SOLID principles Web Components Continuous Integration
week 4 24.02.2017 Databases basics Using APIs Deployment Automation Monitoring In-class project consultations
week 5 17.03.2017 Project presentations
Final Test
Course Retrospective and Q&A