Author: William David Louth

Interactionless Observability Instruments

The Substrates API has two basic categories of Instrument interfaces. The first category includes Instrument interfaces that offer a direct means of interaction by a caller. The second type of Instrument is one with no direct means of triggering Event publishing in the interface.

More...

From Many to One Observability Model

Today the approach to observability at various stages within the data pipeline, from Application to Console, has been to create different models in terms of concepts, structure, features, and values. But what if the model employed were the same across all stages in a data pipeline?

More...

Multi-Event-Casting with Inlets

The typical flow of execution for an observability Instrument is for instrumentation within the application code to make a single call to a method defined in the Instrument interface. But there are cases where a single call into an Instrument interface causes the dispatching of multiple events.

More...

Scaling Observability Resources

A significant challenge in building observability agents or heavily instrumented applications or frameworks is in scaling, both up and down, the resources consumed. There is a trade-off here in terms of time and cost.

More...

Composing Instrument Circuits

In this post, we walk through one of the showcases in the project's code repository that demonstrates how the complexity of hooking up components in a Circuit is greatly simplified.

More...

Designing for Extensibility

The interfaces defined within Substrates API are designed with extensibility and evolution in mind, both from a client library and provider implementation perspective.

More...

Pipelines and Projections

An objective of the Substrates API is that it should be possible for developers to be location independent in that code can execute without change within the local process itself or a remote server that is being served the data via a Relay.

More...

Simplifying Instrument Synthesis

Three overriding principles are applied in the design of the Substrates API - consistency (standardizing), conciseness (simplifying), and correctness (sequencing).

More...

API Design – A Moving Target

Good design takes time, over many iterations (of converging and diverging design paths), in developing, discovering, discussing, discounting, and occasionally destroying.

More...

Data Pipeline Segmentation

The stages within a local data pipeline managed by the Substrates runtime are detailed, from a client call to an Instrument interface method to dispatching an Event to an Outlet registered by a Subscriber.

More...