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

@eeskov/performance-tracker

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@eeskov/performance-tracker

JS performance tracker

  • 0.0.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-57.14%
Maintainers
1
Weekly downloads
 
Created
Source

Performance Tracker

This package provides a simple and efficient way to track and measure the performance of your JavaScript/TypeScript code. It helps to identify bottlenecks in your code and allows you to measure the time difference between different sections of your code. The PerformanceTracker class is designed to be easily integrated into any project.

Features

  • Track and measure the performance of different sections of your code
  • Get time differences between any two markers
  • Customize the output format
  • Singleton pattern, easily accessible from anywhere in your code Enable/disable tracking as needed

Installation

npm install @eeskov/performance-tracker

or

yarn add @eeskov/performance-tracker

Usage

import {PerformanceTracker} from '@eeskov/performance-tracker';

const tracker = PerformanceTracker.getInstance();

tracker.track('START');
for (let i = 0; i < 5; i++) {
  tracker.track('START_LOOP');
  if (i === 3) {
    await new Promise((resolve) => setTimeout(resolve, 1000));
  }
  tracker.track('END_LOOP');
}
tracker.track('END');

console.log(tracker.getDiffAll()); // Logs the time differences between all tracked markers

console.log(tracker.getDiff('START', 'END')); // Logs the time difference between 'start' and 'middle' markers
/*
{
  message: 'START -> END 1016.58 ms',
  label1: 'START',
  label2: 'END',
  diff: '1016.58'
}
*/

console.log(
  tracker.getDiffBetween(
    {
      label: 'START_LOOP',
      trackType: 'first',
    },
    'END_LOOP',
  ),
); // Logs all the time differences between START_LOOP and END_LOPP tracked markers

API

PerformanceTracker.getInstance(clean = false, isDisabled = false): Returns the singleton instance of the PerformanceTracker

track(marker: string): Adds a new marker with the specified label

getDiffAll(): Returns an array of TrackedEvent objects or a string if the performance tracker is disabled

getDiff(label1: string | LabelDiff, label2: string | LabelDiff): Returns a TrackedEvent object representing the time difference between two markers

getDiffBetween(label1: string | LabelDiff, label2: string | LabelDiff): Returns an array of TrackedEvent objects representing the time differences between two markers

flush(): Resets the stored timestamps and markers

getLabels(): Returns an array of marker labels

setFormatter(formatterFunc: PerfomanceLoggerFormatter): Sets a custom formatter function for the output

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests to improve the package.

License

This package is released under the MIT License.

Keywords

FAQs

Package last updated on 05 Apr 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