Changelog

Follow new updates and improvements to infrastack.ai.

October 22nd, 2024

We are thrilled to announce the release of version 0.2.1 of our NPM package!

This version includes:

  • Deprecation of startOtel

  • Exporter protocol configuration support

  • Disabling instrumentations

  • Next.js performance and onboarding improvements

  • Vercel serverless environment support

Deprecation of startOtel

Previously, the SDK was initialized using:

import { startOtel } from '@infrastack/otel';
startOtel({ serviceName: 'my-service' });

However, we noticed this approach lacked flexibility. For example, if we wanted to introduce a new functionality foo, any existing function or variable named foo could create ambiguity. Therefore, SDK initialization has been updated to:

import { Infrastack } from "@infrastack/otel";
Infrastack.init({
  serviceName: "YOUR_SERVICE_NAME",
});

Exporter Protocol Configuration Support

In earlier versions, the SDK only used GRPC exporters. To provide more configuration options and overcome platform-specific issues, we now support HTTP protobuf. By default, the SDK will still use the GRPC exporter, but for Vercel-deployed Next.js applications or other users without GRPC support, HTTP can be configured using an enumerated option:

import { Infrastack, Protocol } from "@infrastack/otel";
Infrastack.init({
  serviceName: "YOUR_SERVICE_NAME",
  protocol: Protocol.HTTP
});

Please, refer to the documentation for more detailed information.

Disabling Instrumentations

This update introduces the ability to disable specific instrumentations:

import { Infrastack, Instrumentation } from "@infrastack/otel";
Infrastack.init({
  serviceName: "YOUR_SERVICE_NAME",
  disabledInstrumentations: [Instrumentation.MYSQL, Instrumentation.HTTP]
});

Please, refer to the documentation for more detailed information.

Next.js Performance and Onboarding Improvements

Previously, onboarding for Next.js was cumbersome and prone to errors.

Earlier configuration (next.config.mjs):

const nextConfig = {
    experimental: {
        instrumentationHook: true, // Enable instrumentation
        serverComponentsExternalPackages: [
            "@opentelemetry/auto-instrumentations-node",
            "@opentelemetry/sdk-node",
        ],
    },
};
export default nextConfig;

New configuration:

const nextConfig = {
    experimental: {
        instrumentationHook: true, // Enable instrumentation
    },
};
export default nextConfig;

We have also reduced runtime errors from OpenTelemetry-related modules by selectively wrapping them and using a more refined approach. We removed reliance on @opentelemetry/auto-instrumentations-node and @opentelemetry/sdk-node in favor of a more direct integration.

Vercel Serverless Environment Support

We now fully support serverless applications deployed to Vercel under the Node.js runtime. Previously, some traces were not exported due to the lack of HTTP protobuf support and challenges with interpreting Vercel's Request Context. This update addresses those issues.

For a detailed guide on deploying Next.js applications to Vercel with OpenTelemetry, see our guide.

What's Next

We believe this update addresses critical issues, and we will continue improving! 😊


Need help or have suggestions? Reach out to us at [email protected] or visit our community forum.

October 13th, 2024

New

We are thrilled to announce the official launch of the infrastack.ai Javascript SDK! Providing powerful features that simplify the process of instrumenting your applications. Here's what's included in this initial release:

✨ Key Features

1. Straightforward Setup
Initialize the SDK with 2 lines of code.

import { startOtel } from '@infrastack/otel' 
startOtel({ serviceName: 'my-service' })

2. Developed for OpenTelemetry, tailored for infrastack.ai

3. Wide range of Javascript frameworks

  • Next.js

  • Express.js

  • Nest.js

πŸ“š Documentation

Our newly published documentation includes all the methods available for integrating the SDK, complete with detailed examples and use cases. Check out our docs here.

We are excited to see how you leverage the infrastack.ai SDK to instrument your applications! Happy building!


Need help or have suggestions? Reach out to us at [email protected] or visit our community forum.