We’ve Improved the User Experience of Logs
These updates make it easier for users to quickly access the information they need to prioritize and troubleshoot issues. For more information on logs in Lumigo, check out the documentation.
These updates make it easier for users to quickly access the information they need to prioritize and troubleshoot issues. For more information on logs in Lumigo, check out the documentation.
To set metric alerts, simply click alerts, then click on create a new alert, then click on the metric tab. From there, you can select the condition you want to be alerted about. For more information, check out the documentation.
Webhook notifications allow you to send Lumigo notifications to your preferred applications each time a chosen alert is triggered, even if they aren’t on the list of supported applications.
To integrate a webhook destination go to Settings > Integrations or follow the documentation.
We're thrilled to announce a makeover of our Live Tail page, designed to enhance your debugging experience, with a more user-friendly, efficient, and visually appealing interface.
Here's what you can expect from the new Live Tail:
For further information refer to our documentation.
We're excited to announce an upgrade to Lumigo's Live Tail feature. Now, Live Tail supports container requests, offering real-time monitoring and troubleshooting for your containerized services, in addition to Lambda function invocations.
Live-Tail streams your requests and invocations and adds the much-required information such as exceptions and the payload of each request that are needed to troubleshoot containerized services easily in near real-time.
Use Live-Tail for:
For further information refer to our documentation.
Container orchestration services, such as Kubernetes, have many types of constructs (e.g. objects in Kubernetes) for different functionalities. When something goes wrong, this can make troubleshooting difficult, as the same trace can be associated with many different constructs.
To help solve this challenge, Lumigo has introduced the notion of service constructs that allow users to find traces associated with the different types of services and constructs easily. For further information refer to our documentation.
The (usually) fine-granularity of APIs exposed by Lambda functions, where one function deals with one type of event, is one of the exceptions in cloud computing; most APIs like HTTP, GRPC APIs, and other services expose multiple different functionalities, often with varying characteristics of performance, SLIs & SLOs, failure modes, and dependency graphs.
In our ongoing efforts to make troubleshooting containerized applications as easy as we made it with serverless, we are delighted to introduce the notion of Endpoints.
Endpoints describe the API of a service and give a detailed view of the operations exposed by the service. Lumigo uses default rules to automatically discover endpoints, which can then be seen on the platform and used for finding particular traces.
We are excited to announce Programmatic error support for Kubernetes and ECS workloads. Programmatic Errors empower developers to customize, monitor, and troubleshoot non-fatal errors that may occur within their applications. With Programmatic Error support (through OpenTelemetry), you can now flag issues that may not interfere with the overall service, such as business logic errors.
Programmatic errors are created by adding span events with a custom attribute with the key name 'lumigo.type'.
For example, in Javascript, you can add a programmatic error in the following manner:
const { trace } = require('@opentelemetry/api'); trace.getActiveSpan()?.addEvent('<error-message>', {'lumigo.type': '<error-type>'});
To learn more about Programmatic errors and troubleshooting microservices with Lumigo, check out our docs page, and our OpenTelemetry distros for Java, Node.js, and Python
The Python 3.10 runtime brings the latest and greatest LTS version of Python 3.10 to Lambda, and as of today, it is officially supported in Lumigo!
What makes the Python 3.10 runtime very interesting is the structural pattern matching addition allowing to use patterns to match against data structures such as lists, tuples, and dictionaries and run code based on the match. Structural pattern matching lets you write code that processes complex data structures more easily and can help you improve code readability and maintainability.
Python 3.10 has also improved error messages providing more context about the error, such as the line number, the location where the error occurred, and the exact nature of the error. Additionally, Python 3.10 error messages provide more helpful information about how to fix the error, such as suggestions for correct syntax or usage.
Other nice additions to Python 3.10 are a new syntax for parenthesized context managers, making it easier to read and write code that uses the “with” statement, which simplifies managing resources such as file handles or database connections, ensuring they are released correctly, writing union types as X | Y
instead of the previous versions’ syntax of typing Union[X, Y]
and use user-defined type guards to handle custom data types or to refine the types of built-in types that aim to reduce boilerplate code and improve readability and maintainability.
Just turn on Lumigo autotracing as always. If you went ahead and adopted Python 3.10 already, and Lumigo told you the runtime is not supported, by now you will have noticed that Lumigo set up autotracing for your Python 3.10 functions that you selected for autotracing in the UI. Of course, also using the lumigo:auto-trace=true
AWS Tag is supported. Nice and easy :-)
In many cases, alerts our users configure in production are resource-specific. For example, they'd like to know when a specific Lambda function is experiencing elevated error rates. But in some cases, users need to alert differently based on the specific request. For example, they might want an alert to be more sensitive when errors are happening for a specific tenant, or when a specific value is present in the request.
Today, Lumigo adds this capability with Execution Tag based alerts, enabling users to configure alerts based on the request payload, whether it is a function invocation or a container request. To configure Execution-Tags based alerts, open the Condition
section in the alert policy, select Execution Tags
, and enter the key and value.
Before setting up execution tag-based alerts, make sure you've added execution tags for the data you'd like to alert on. Click here for more details about execution tags and how to add them.