Skip to content
This repository has been archived by the owner on Mar 30, 2020. It is now read-only.
/ Micro Public archive

Node.js N-API binding to C to get high resolution timestamp (in microseconds)

License

Notifications You must be signed in to change notification settings

SlimIO/Micro

Repository files navigation

Micro

version Maintenance mit dep size known vulnerabilities Build Status

NodeJS C++ NAPI low level binding to get high resolution timestamp.

This API is synchronous.

Requirements

Getting Started

This package is available in the Node Package Repository and can be easily installed with npm or yarn.

$ npm i @slimio/micro
# or
$ yarn add @slimio/micro

Usage example

const { now, gettimeofday, clock } = require("@slimio/micro");

console.log(now()); // 1538484472718548
console.log(gettimeofday()); // { sec: 1538484493, usec: 222313 }
console.log(clock.now());
console.log(clock.gettime());

API

now(): number

Return the current timestamp as microsecond. You can achieve the same result with gettimeofday():

const tv = micro.gettimeofday();
const now = (tv.sec * 1000000) + tv.usec;
console.log(now); // 1538484472718548

Warning: Micro.now() suffers the effects of drift like Date.now()

gettimeofday(): timeval

UNIX gettimeofday binding (polyfill has been added for Windows too). Return a timeval interface Object.

interface timeval {
    sec: number;
    usec: number;
}

export function gettimeofday(): timeval;

clock.gettime(): timespec;

UNIX clock_gettime binding (polyfill has been added for Windows too). Return a timespec interface Object. This method work like NodeJS process.hrtime.

clock.now(): number;

Return a millisecond no-drift timestamp. You can achieve the same with clock.gettime():

const { sec, usec } = micro.clock.gettime();
console.log(sec * 1e3 + usec / 1e6);

// same as:
console.log(micro.clock.now());

Contribution Guidelines

To contribute to the project, please read the code of conduct and the guide for N-API compilation.

Dependencies

Name Refactoring Security Risk Usage
node-addon-api ⚠️Major Low Node.js C++ addon api
node-gyp-build ⚠️Major Low Node-gyp builder

License

MIT

About

Node.js N-API binding to C to get high resolution timestamp (in microseconds)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages