New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

continuous-profiler

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

continuous-profiler

Continuous Profiler that runs inside a browser

  • 0.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Continuous Profiler

It's a simple implementation of a continuous profiler that runs in a browser context. It facilitates the JS Self-Profiling API.

The built-in JS profiler will run as long as it has space in the sample buffer. In practice, this means that there is a limited duration that a single profiler can profile. This package implement continuous profiler which manages multiple JS profiler instances to profile user session without any duration limit.

Prerequisites

At the time of writing this README, the JS Self-Profiling API is available in Chrome 94+, Edge 94+, and Opera 80+ browsers.

It also requires Document-Policy: js-profiling=true HTTP header for the HTML document.

Installation

This package is available on npm:

npm install continuous-profiler # for npm
yarn add continuous-profiler # for yarn

Usage

Please, ensure that you set up the Document-Policy HTTP header. To use the profiler, import it like a regular module and call the .start() method.

import { ContinuousProfiler } from "continuous-profiler";

const profiler = new ContinuousProfiler(
    (trace) => {
        sendTrace(JSON.stringify(trace));
    },
    {
        sampleInterval: 10, // sample every 10ms
        collectInterval: 10000 // collect every 10s
    }
);
profiler.start();
window.addEventListener('unload', () => profiler.stop());

The first argument passed to the ContinuousProfiler constructor is a callback that will be called every 10 seconds with a trace.

The second argument are options where you can specify sample and collect intervals.

License

MIT

FAQs

Package last updated on 01 Nov 2023

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