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

tracenova

v1.0.1

Published

Sourcecode instrumentation with Open-Telemetry for nodejs

Downloads

1

Readme

CI-CD

TraceNova

TraceNova is a Node.js package that simplifies setting up OpenTelemetry tracing and instrumentation. By importing "tracenova" at the beginning of your ES6 module-based project, it enables telemetry and tracing with minimal effort.

Installation

You can install TraceNova using npm:

npm install tracenova

Usage

Simply import "tracenova" as the first line of your ES6 module to enable telemetry and tracing:

import 'tracenova';

// Your code here

TraceNova will automatically set up OpenTelemetry tracing and instrumentation based on sensible defaults. This basic setup allows you to start capturing traces without any additional configuration.

Instrumenting Methods and Functions

You can use TraceNova's @instrument decorator to instrument both class methods and simple functions with tracing:

import { instrument } from 'tracenova';

class ExampleClass {
    @instrument
    async method() {
        // Method logic
    }
}

const exampleInstance = new ExampleClass();
exampleInstance.method();

// Instrumenting a simple function
@instrument
function simpleFunction() {
    // Function logic
}

simpleFunction();

The @instrument decorator wraps the method or function with tracing logic, capturing performance data and exceptions.

Configuration

TraceNova allows you to control its behavior using environment variables. If you don't have a `tracenova.cjs` configuration file in the root of your project, TraceNova will use the following default configuration, which can be overridden by environment variables:

otelURL: process.env.OTEL_EXPORTER_URL || 'http://collector:4318/v1/traces',
appName: process.env.APP_NAME || 'My App',
instrumentations: [
    // Default instrumentation (Http)
]

OpenTelemetry Compatibility

| TraceNova Version | OpenTelemetry Version | ES6 Modules Support | | ----------------- | --------------------- | ------------------- | | 1.0.0 | 1.0.0 - 1.5.0 | Yes |

Contributing

Contributions are welcome! Please refer to the Contribution Guidelines for more details.

License

This project is licensed under the MIT License - see the LICENSE file for details.


For more information about OpenTelemetry, visit the OpenTelemetry website.

Note: This README provides a basic structure for your package documentation. You should customize it to provide more detailed information about your package's usage, options, and other relevant details. Feel free to add more sections, such as advanced usage and troubleshooting. Make sure to provide clear and concise instructions to help users get started with TraceNova in their ES6 module-based projects.