Thank you for using Mackerel, I'm id:wtatsuru , Mackerel producer.
This article describes Mackerel's future plans for developing and using application performance monitoring.
- Our development and future plans for application performance monitoring
- Thoughts behind Mackerel APM
- How to use Mackerel's tracing function
- We want your feedback and thoughts on how you use it!
Our development and future plans for application performance monitoring
Mackerel will release Application Performance Monitoring (APM) functionality in the first half of 2025. The APM functionality will focus on application behaviour to understand performance and error conditions and help identify bottlenecks and problems.
In a previous entry, I mentioned that Mackerel will focus on developing the observability area. The development of APM is part of this plan.
We want everyone to experience this functionality as soon as possible, so we are launching a tracing function to realise APM, with no prior registration required. Anyone can use this function for up to 5 million spans per month free of charge, so please use this function for verification or your purposes. Please note that this feature is a beta version, so there is no guarantee of stability and the functionality is subject to disruptive changes or removal.
If you have any questions about the tracing functionality or how to use it, please use the Request Form or the 'Contact Us' in the top right corner of the Mackerel web console. (Please note that it may take some time for us to reply to your enquiry, including the first response.)
In preparation for the release of the APM, we will accelerate the development of functions to observe applications in the future. Specifically, we are developing and considering the following functions. We will continue development based on feedback from our users, so please send us your feedback on issues you have or functions you need.
- Ability to extract and visualise information on database performance from information in traces (already released).
- A function to display statistical information such as errors and latency for each HTTP server route.
- An administration screen that allows the status of the application to be grasped at a glance and used for investigations.
The fee structure is often a challenge in implementing observability, but we are looking into this to make it user-friendly and reasonable. The APM function only has a billing structure based on the amount of data posted, and does not charge per host. The unlimited number of users makes it easy for the whole team to share and improve information.
Details of fees and specific prices will be announced once an official release date has been set.
Thoughts behind Mackerel APM
Mackerel was created as a service packed with Hatena's know-how for people who operate and monitor systems. We have focused on providing the ease of easy implementation and the ability to start monitoring alone, and the depth of growing the monitoring as the team grows with the system as it changes. We extend this experience to the development of modern applications.
The APM function is intended to enable the status of application performance and errors to be monitored, and the causes to be identified and resolved quickly. Instead of the traditional trial-and-error approach of inferring causes from metrics and alerts, monitoring that was previously achieved indirectly—such as by watching log strings—can be transformed into more direct observation using trace data. This enables faster investigation and incident response, ultimately enhancing system reliability. By conducting these activities on the Mackerel platform, as well as server monitoring, a team culture can be created to tackle the same problems.
How to use Mackerel's tracing function
From 3rd February 2025, you can experience the tracing function immediately from the 'Trace' menu on the side menu of Mackerel, with no application required.
By sending OpenTelemetry-compliant trace signals from your application, service or OpenTelemetry Collector to the Mackerel API server, you can check the trace and span contents on the Mackerel 'Trace' screen.
For example, if you are using OpenTelemetry Collector, the minimum configuration for sending trace signals to Mackerel is as follows. Specify the API key of the Mackerel organization to which the trace signals are sent in the environment variable MACKEREL_APIKEY
.
receivers: otlp: protocols: http: processors: batch: send_batch_size: 5000 send_batch_max_size: 5000 exporters: otlphttp/vaxila: endpoint: "https://otlp-vaxila.mackerelio.com" headers: Accept: "*/*" "Mackerel-Api-Key": ${env:MACKEREL_APIKEY} service: pipelines: traces: receivers: [otlp] processors: [batch] exporters: [otlphttp/vaxila]
For more information on settings, see the following article.
It is also possible to send trace signals to Mackerel directly from applications instrumented with the OpenTelemetry library. An example of instrumentation is presented in the following article (in Japanese).
Note that the endpoint https://otlp-vaxila.mackerelio.com
to which Mackerel trace signals are sent is located on the Internet side. The tracing functionality described in this article is also available to Makerel for KCPS users, but please note that there is no endpoint for private network environments.
Also, currently the UI of the tracing function is only available in Japanese language display.
The tracing function has a number of useful elements, but the observation of database queries may be of particular utility.
By automatically or manually instrumenting the database query execution points, spans that include query information are generated. The Database Performance screen, which can be opened by going to Trace > Database from the Mackerel side menu, lists the total execution time, average execution time and number of times the query was executed during the selected period.
From this screen, it is easy to identify slow queries that degrade performance and queries that are frequently called and need improvement.
We want your feedback and thoughts on how you use it!
Our development team is working to improve the functionality of the system and develop it for the official release based on your feedback.
We will carefully consider each and every specific feedback from people who are actually working on improving observability in the field, such as "I would like to try this function if it existed" or "If this function existed, I could use it in production operations", and reflect it in the functionality as much as possible.
Please let us know your thoughts and opinions on using the tracing function. We look forward to your valuable feedback!
📋 Click here for feedback form.
Also, if you would like to hear more about APM functions or need technical assistance, please select your preference from the form.
For any other technical support enquiries, such as how to use the functionality or to request a bug fix, please contact our support team via the 'Contact Us' link in the top right corner of the Mackerel web console.