Instrumenting a Product

Instrumentation involves embedding or integrating monitoring and tracking mechanisms within software applications to collect data on performance, usage, and overall behaviour.

Goal

The goal of instrumentation is to provide real-time insights into application performance and user behaviour, enabling continuous improvement and informed decision-making.

Context

As we increase the pace of delivery, and increasingly rely on automated testing it becomes essential to have real-time visibility into application behaviour to identify and address issues quickly, ensuring that applications remain available and performant.

Types of Monitoring

Monitoring CategoryDescriptionExample Metrics
Performance MonitoringMetrics that measure the responsiveness and speed of applications and systems.Response time, throughput, latency.
Application Health MonitoringMetrics focused on the operational status and health of applications, ensuring they are functioning correctly.Error rates, uptime, crash reports.
User MonitoringMetrics that provide insights into how users interact with the application, including behaviour and satisfaction.Active users, session length, churn rate, conversions.
Infrastructure MonitoringMetrics related to the physical or virtual resources supporting the application, ensuring they are performing optimally.CPU usage, memory usage, disk I/O.
Cloud Cost MonitoringMetrics that track the costs associated with cloud resource usage, helping to manage and optimise spending.Cost per service, cost per region, unused resource costs.

Inputs

ArtifactDescriptionBenefits
Monitoring MetricsData points collected from the application, providing insights into performance, usage, and behaviour.Enables real-time visibility into application behaviour, facilitating troubleshooting and performance optimisation.

Outputs

ArtifactDescriptionBenefits
Realtime Application Performance DataData collected from the application's monitoring tools, providing insights into performance and usage.Enables real-time visibility into application behaviour, facilitating troubleshooting and performance optimisation.

Anti-patterns

  • Over-Instrumentation: Embedding too many monitoring tools or collecting excessive data, which can lead to performance degradation and data overload.
  • Underutilising Data: Failing to analyse or act on the collected data, missing opportunities for improvement.

Was this page helpful?

Previous
Monitoring
© ZeroBlockers, 2024. All rights reserved.