Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@mrporter/frontend-monitoring

Package Overview
Dependencies
Maintainers
2
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mrporter/frontend-monitoring

Utils and Events for MRP front end monitoring

  • 5.0.4
  • latest
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

MRP Front End Monitoring

Installation

npm install --save @mrporter/frontend-monitoring

Usage

import { setupMonitoring } from '@mrporter/frontend-monitoring';

setupMonitoring({
    projectId: 'abc123',
    writeKey: 'def456',
    globalProperties: {
        app_name: 'myaccount',
        business: 'mrporter'
    }
});

The globalProperties object can contain any default properties you want to pass with every event. You can specify an app_name property and business here to easily differentiate when querying keen. If these aren't set, a warning will be logged to the console in dev mode.

If no projectId is passed in, trackEvent will log events to the console ('dev mode') rather than attempt to fire off events to keen.

API

Track Event
import { trackEvent } from '@mrporter/frontend-monitoring';

trackEvent(event, sampleRate);

// event should be of the form:
{ 
    collection: 'timeTakenForThing',
    event_data: '123' // using 'snake_case' to match keen.io convention
};

The sampleRate is a float between 0 and 1, representing the proportion of events you want to track (e.g, 0 tracks nothing, 0.5 tracks half the events, 1 tracks all.)

The following global properties are sent with every event: (see https://keen.io/docs/api/#data-enrichment)

  • ip_address
  • user_agent
  • page_url
  • referrer.url
  • referrer.info
  • ip_geo_info
  • parsed_user_agent
  • parsed_page_url
Track Page Performance
import { trackPagePerformance } from '@mrporter/frontend-monitoring';

trackPagePerformance();

This uses javascript's navigation timing API to send a breakdown of load time to keen. This will send two 'page_performance' events to keen, one for timing details up to and including response, another for DOM complete/interactive/loaded.

now
import { now } from '@mrporter/frontend-monitoring';

const ms = now();

This is a wrapper around performance.now() - if this exists, then the microsecond precision value is used, otherwise Date.now() is used with millisecond precision.

Tasks

  • npm run dist: transpile from ES6 to ES5
  • npm test: run tests

Keywords

FAQs

Package last updated on 30 Aug 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc