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

@grimen/totalrecall

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@grimen/totalrecall

A runtime step profiler - for Node/JavaScript.

  • 0.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

js-totalrecall NPM version Build Status Coverage Status

A runtime step profiler - for Node/JavaScript.

Introduction

Aggregating runtime statistics and/or finding bottlenecks in code is one of the most common challenges as a software engineer. This is a library to aid that. In comparison to most existing libraries this one is focused on step profiling; aggregation of runtime information in steps marked by keys/tags/labels and optional meta data, which is used to create a summary of all steps in form of a transaction.

This is an MVP that most likely will be extended with more profiling features.

Install

Install using npm:

$ npm install @grimen/totalrecall

Install using yarn:

$ yarn add @grimen/totalrecall

Use

Very basic example:

const totalrecall = require('@grimen/totalrecall')

const sleep = (seconds = 0) => {
    return new Promise((resolve) => {
        setTimeout(resolve, seconds * 1000)
    })
}

// ---------------------------------------------------
//   EXAMPLE: runtime step profiler
// ------------------------------------------------

let profiler = totalrecall.timer('profile something - using timer', {
    begin: false,
})

profiler.begin('task 1')

await sleep(0.1)

profiler.begin('task 2')

await sleep(0.2)

profiler.begin('task 3')

await sleep(0.3)

profiler.end()

console.log('[profiler.time / basic]: TIME:', profiler.time)
console.log('[profiler.time / basic]: STEPS:', profiler.steps)

// ---------------------------------------------------
//   EXAMPLE: runtime step profiler (detailed)
// ------------------------------------------------

profiler = totalrecall.timer('profile something - using timer', {
    begin: false,
    enabled: true,
    verbose: true,
    colors: true,
})

profiler.begin('task 1')

await sleep(0.1)

profiler.begin('task 2')

await sleep(0.2)

profiler.begin('task 3')

await sleep(0.3)

profiler.end()

console.log('[profiler.time / detailed]: TIME:', profiler.time)
console.log('[profiler.time / detailed]: STEPS:', profiler.steps)

Test

Clone down source code:

$ make install

Run colorful tests using jest:

$ make test

About

This project was mainly initiated - in lack of solid existing alternatives - to be used at our work at Markable.ai to have common code conventions between various programming environments where Node.js (for I/O heavy operations) is heavily used.

Credits

Thanks to op-bk for creative help with naming this library.

License

Released under the MIT license.

Keywords

FAQs

Package last updated on 10 Jul 2019

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