Skip to main content

Logging meets the 2nd dimension

Export, visualize, and inspect data from anywhere in your program

How it works

1

Export

Instrument your code with our client libraries to start exporting data from anywhere in your program

fn generate_city() {
let points = generate_city_outline();
let poly = Polygon2Builder::from_points(points);
uploader.create_object2("city_outline", poly);
}
https://observation.tools

Toolbox of existing primitives

Model your data with our library of existing 2d and 3d primitives, e.g. polygons, images

Local or remote execution

Data collection is not limited to one machine. Export data from distributed systems/pipelines and aggregate it in a single place.

2

Visualize

View collected data in our web-based viewer. Spend time looking at your data, not deciphering text logs or building custom tools.

let image = Image2Builder::from(data);
image.set_per_pixel_transform(
PerPixelTransformBuilder::random_distinct_color());
https://observation.tools

Library of data transformations

Apply transformations to objects to make them easier to understand, e.g. recoloring images, coordinate transforms

3

Inspect

Use our tools to quickly find and diagnose issues so you can get back to building

https://observation.tools
(127,45)

Suite of debug tools

Use our suite of analysis tools to inspect transformations, find intersections between objects, and more.

Replay state changes

Go through algorithms step-by-step to see where they went wrong.

Get started

Login to create a free project and start inspecting your data

LoginRead the docs