lieko-metrics
v0.0.5
Published
Super simple performance metrics helper • start/stop markers • nice console logs • avg/min/max stats • human durations (µs/ms/s/m) • zero dependencies
Downloads
488
Maintainers
Readme
LiekoMetrics
Super simple performance measurement helper
Works in Node.js, browsers, and via CDN — zero dependencies.
Measure code execution time with nice console output and human-readable durations (µs, ms, s, min).
Quick Start
1. Node.js / Bun / Deno (CommonJS or ESM)
// CommonJS
const perf = require('lieko-metrics');
// or ESM
import perf from 'lieko-metrics';
perf.start('my-task');
// ... your code ...
perf.stop('my-task');
// → ⏱️ my-task perf: 12.4ms2. Browser – via CDN (recommended)
<!-- Latest version from jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/lieko-metrics@latest"></script>
<!-- Or specific version -->
<!-- <script src="https://cdn.jsdelivr.net/npm/[email protected]"></script> --><script>
// Global instance ready to use
liekoPerf.start('page-load');
// ... your code ...
liekoPerf.stop('page-load');
// Or create your own instance
const perf = new LiekoMetrics();
perf.start('heavy-computation');
// ...
perf.stop('heavy-computation');
perf.printSummary();
</script>Most useful methods
perf.start('name') // begin measuring
perf.stop('name') // end + log + save
perf.printSummary() // beautiful overview of all measurements
perf.getStats('name') // → { count, total, average, min, max, latest }
perf.clear() // reset everythingReal-world examples
// Single shot
perf.start('render-users');
renderComplexList(users);
perf.stop('render-users');
// Multiple runs → great for averages
for (let i = 0; i < 10; i++) {
perf.start('api:fetch-users');
await fetch('/api/users');
perf.stop('api:fetch-users');
}
perf.printSummary();
// Example output:
// api:fetch-users:
// Runs: 10
// Avg: 342ms
// Min: 281ms
// Max: 419ms
// Last: 355msRecommended naming style (hierarchical)
perf.start('page-home:total')
perf.start('page-home:database:users')
perf.start('page-home:render:recommendations')
perf.start('page-home:image:lazy-load')
// Stop in reverse order is a good practiceFeatures
- Zero dependencies
- Works in Node.js and modern browsers
- Human-readable durations (
34µs→1m 5.2s) - Automatic console logging with emoji
- Multi-run statistics (avg/min/max/latest)
- Global
liekoPerfinstance in browser + classLiekoMetrics
Small, fast, console-friendly — perfect for quick debugging and finding slow parts of your code.
Happy profiling!
