Logging on the Cheap

Logging on the Cheap

To log or not to log?


Writing new code is a relatively small part of application development. A much larger part of a software engineer’s life involves supporting and maintaining existing systems. First and foremost, this requires the right level of insight — understanding what exactly the system is doing, particularly when this isn’t quite what you (and your customers) were expecting. Logging, tracing, remote debugging, and application performance monitoring is essential in attaining the level of observability required to comfortably operate and support a modern application suite.

When building conventional applications, the question of whether an action should be logged or not is rarely a subject of rigorous debate. (By ‘conventional’, we mean most e-commerce applications with fairly routine non-functional requirements concerning throughput, latency, availability, and so forth.) Occasionally, we come across a class of applications that breaks that mould. Sometimes particular modules of an otherwise conventional system might be subject to very stringent constraints around their performance. An application might perform an expensive calculation in a tight loop, or it may be required to respond (on average) within a tight time frame. Invasive instrumentation of these applications changes their timing behavior — even simple log calls carry an overhead that might cardinally impact the customer experience. In these sorts of scenarios, the question posed at the beginning of the article — To log or not to log? — becomes a real point of debate. Do you sacrifice break-neck performance for observability, or is performance the coveted money-maker that dwarfs every other concern?

Read the rest of the article on Medium.

Kartik Modi

?? Tech Entrepreneur | Architecting High-Performance Trading & Betting Systems | AI & Probability-Driven Innovations | Scalable Platforms for High-Volume Markets

4 年

mate you are true true innovator

要查看或添加评论,请登录

Emil Koutanov的更多文章

  • Contrasting Kafka with Akka

    Contrasting Kafka with Akka

    My software architecture consulting gigs take me places ranging from startups to more established organisations, having…

  • The Design of an Event Store

    The Design of an Event Store

    The topics “event-driven architecture” “event stream processing” and “event sourcing” have enjoyed quite a buzz as of…

    1 条评论
  • Combining strict order with massive parallelism using Kafka

    Combining strict order with massive parallelism using Kafka

    Having been involved in several large-scale Kafka projects for different clients across a broad range of industries, I…

  • Contrasting NATS with Apache Kafka

    Contrasting NATS with Apache Kafka

    TL;DR Kafka is an Event Streaming Platform, while NATS is a closer to a conventional Message Queue. Kafka is optimised…

  • Apache Kafka in a Nutshell

    Apache Kafka in a Nutshell

    So, you’ve heard of this Kafka thing that’s popping up all over the shop. From green-sprout startups to greedy…

    1 条评论
  • Why Kafka Is So Fast

    Why Kafka Is So Fast

    Discover the deliberate design decisions that have made Kafka the performance powerhouse it is today. The last few…

    2 条评论
  • Getting Started With Istio

    Getting Started With Istio

    Understanding what a service mesh is and how it can be used effectively in a microservices architecture. The last few…

  • Kafka Gotchas

    Kafka Gotchas

    I've assisted several large clients in building a microservices-style architecture using Kafka as a messaging backbone,…

  • Introduction to Event Streaming with Kafka and Kafdrop

    Introduction to Event Streaming with Kafka and Kafdrop

    Event sourcing, eventual consistency, microservices, CQRS..

社区洞察

其他会员也浏览了