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

@smarterservices/smarterclock

v2.0.1

Published

store of delta values between ntp time and local time to get an accurate sync time

Downloads

20

Readme

SmarterClock

Used to ensure the time used is in sync across distributed systems. The sync is achived by the following process:

  • Fetches the time from an NTP server.
  • Adjusts for network latency and transfer time
  • Computes the delta between the NTP server and the system clock and stores the delta for later use.
  • Uses all the stored deltas to get the average time drift from UTC.

##Getting Started Install the module.

npm install @smarterservices/smarterclock

Import the module into your codebase

var smarterclock = require('@smarterservices/smarterclock')

Create an instance of the clock object passing in the required params. See the options section below for options that can be used.

var options = {};

// create a new instance
var clock = new smarterclock(options);

// get the current unix timestamp
var currentTime = clock.getTime();

console.log(currentTime);

Options

The clock constructor can accept the following options. all options are optional

  • syncDelay (number) : The time (in seconds) between each call to an NTP server to get the latest UTC timestamp. Defaults to 300 (which is 5 minutes).
  • history (number): The nubmer of delta values that should be maintained and used for calculating your local time drift. Defaults to 10.
  • servers (array) : An array of NTP servers to use when looking up time. Each value in the array should be an object with the keys server and port. Defaults to pool.ntp.org.

Example

{
	"syncDelay" : 60,
	"history": 10,
	"servers" : [{"server": "pool.ntp.org", "port": 123}]
}

Methods

###getTime()

Returns unix timestamp based on delta values between server and your local time. This is the time that can be used instead of new Date().getTime()

Example

clock.getTime();

###syncTime()

An on-demand method that will force a sync with an NTP server.

clock.syncTime();