Introduction
We are thrilled to announce that with the release of Bacalhau v1.2, we have introduced automatic telemetry collection for jobs running WebAssembly. It’s a tool that does more than just gather data - it unlocks a deeper understanding and optimization of your workflows. This new capability is made possible by our integration with the Observe SDK developed by Dylibso.
Why Telemetry Collection Matters
Telemetry collection plays a vital role in understanding and optimizing the performance of WebAssembly jobs, and in Bacalhau v1.2 it is automatically enabled for compatible WebAssembly. Instrumenting WebAssembly allows users to build more performant and reliable workflows by enabling:
Performance Monitoring: Telemetry data provides insights into the performance characteristics of your WebAssembly jobs, allowing you to identify and resolve bottlenecks, optimize resource usage, and improve efficiency.
Error Detection and Debugging: By collecting telemetry data, you gain visibility into any errors or exceptions that occur during the execution of your WebAssembly jobs. This helps you quickly identify and debug issues, ensuring smooth and error-free operations.
Capacity Planning: Telemetry data helps assess resource needs of your WebAssembly jobs. By analyzing metrics such as CPU and memory usage, you can accurately plan and allocate resources to ensure optimal performance and scalability.
Security and Compliance: Telemetry data aids in identifying and addressing security vulnerabilities and compliance issues. By monitoring and analyzing telemetry metrics, you can proactively identify potential threats and ensure adherence to data protection regulations.
In short, instrumented jobs are essential for a mature production workflow, offering the critical metrics needed to elevate execution in terms of reliability, security and efficiency.
Activating Automatic Instrumentation in Bacalhau
To take advantage of Bacalhau’s automatic telemetry collection feature, users need a WebAssembly program with telemetry hooks. There are two ways to achieve this:
Dylibso Instrumenting Compiler: Compile your WebAssembly jobs using Dylibso's instrumenting compiler. It seamlessly embeds the required instrumentation code into your jobs, enabling automatic telemetry collection.
Manual Header Addition: Alternatively, manually add the required headers into your WebAssembly code. These headers serve as markers for the Observe SDK to collect telemetry data during runtime.
Note: WebAssembly programs without these hooks will continue to run as usual.
Additionally, compute nodes running instrumented WebAssembly must have OpenTelemetry (OTEL) tracing configured, which is as simple as running an OTEL consumer like Jaeger and configuring the compute node with the telemetry endpoints.
For detailed instructions on enabling and integrating with the Observe SDK, please refer to our documentation page.
Try Instrumented WebAssembly Today
We are excited about the possibilities that automatic telemetry collection brings to WebAssembly jobs in Bacalhau v1.2. It empowers you with valuable insights and optimization opportunities, enabling you to deliver high-performance and efficient applications.
We’re thrilled with this new integration and are deeply grateful to the Dylibso team for all the work they put into making it possible. Try out the new feature today and experience the power of automatic telemetry collection in your WebAssembly jobs!
5 Days of Bacalhau 1.2 Blog Series
If you’re interested in exploring our other 1.2 features more in more detail, check back tomorrow for our next 5 Days of Bacalhau blog post.
Day 1 - Job Templates
Day 2 - Streamlined Node Bootstrap
Day 5 - Instrumenting WebAssembly: Enhanced Telemetry with Dylibso Observe SDK
How to Get Involved
We're looking for help in several areas. If you're interested in helping, there are several ways to contribute. Please reach out to us at any of the following locations.
Commercial Support
While Bacalhau is open-source software, the Bacalhau binaries go through the security, verification, and signing build process lovingly crafted by Expanso. You can read more about the difference between open source Bacalhau and commercially supported Bacalhau in our FAQ. If you would like to use our pre-built binaries and receive commercial support, please contact us!