npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@edx/frontend-logging

v4.7.0

Published

edX Frontend logging client code for sending logging and events to Datadog

Downloads

1,798

Readme

frontend-logging

Build
Status Codecov license

Purpose

frontend-logging contains a shared interface for logging errors and events to Datadog.

When you use logError, your errors will appear under browser logs for your Browser application.

You can also add your own custom metrics as an additional argument, or see the code to find other standard custom attributes.

General Logging service interface is defined in frontend-platform.

Usage

To install frontend-logging into your project::

npm i --save @edx/frontend-logging

To configure the logging service

In the env.config.js file, add the following

import { DatadogLoggingService } from '@edx/frontend-logging';

const config = {
  loggingService: DatadogLoggingService,
};

export default config;

DatadogLoggingService

The DatadogLoggingService is a concrete implementation of the logging service interface that sends messages to Datadog that can be seen in Datadog RUM and Datadog browser logs. When in development mode, all messages will instead be sent to the console.

There are a number of variables you can set to configure RUM logging in Datadog. In our environment, these are probably set in edx-internal, in frontends/[name of your frontend app]/[env]_config.yml:

  • DATADOG_APPLICATION_ID: Provided by Datadog during RUM configuration.
  • DATADOG_CLIENT_TOKEN: Provided by Datadog during RUM configuration.
  • DATADOG_SITE: Provided by Datadog during RUM configuration. Probably datadoghq.com.
  • DATADOG_SERVICE: Provided by Datadog during RUM configuration. This will be the name of your frontend.
  • DATADOG_ENV: Environment for the config. (i.e., stg, prod, edge)
  • DATADOG_SESSION_SAMPLE_RATE: (Optional) How many sessions should we capture RUM data from. This has cost implictions, so if you don't have unique needs, copy the most common setting you see in prior art.
  • DATADOG_SESSION_REPLAY_SAMPLE_RATE: (Optional) How many sessions should we capture for replay. This has cost implictions, so if you don't have unique needs, copy the most common setting you see in prior art.
  • DATADOG_LOGS_SESSION_SAMPLE_RATE: (Optional) How many sessions should we capture logs from. This has cost implictions, so if you don't have unique needs, copy the most common setting you see in prior art.
  • DATADOG_PRIVACY_LEVEL: (Optional) The privacy masking setting used for session replays. Defaults to masking all content. For legal values, see Datadog's session privacy docs.
  • DATADOG_ENABLE_PRIVACY_FOR_ACTION_NAME: (Optional) Whether all action names should be masked with a placeholder value; used in conjunction with DATADOG_PRIVACY_LEVEL.
  • DATADOG_HAS_DEFAULT_ALLOWED_TRACING_URLS: (Optional) Whether to configure Datadog RUM with default allowed tracing urls (i.e., any subdomain of edX.org).