Observe is one of a new wave of full stack observability platforms designed from the ground up for massive scalability. You can get a sense of this from their pricing page, where ingestion volumes are measure in Gibibytes GiB and Tebibytes (TiB). How does that differ from Gigabytes and Terabytes? Well, Gigabytes and Terabytes are based on multiples of 1000, whereas Gibibytes and Tebibytes are based on multiples of 1024. This means that a Gibibyte is around 1.073 Gigabytes and a Tebibyte is around 1.099 Terabytes. This article provides a nice account of the two different measuring systems.
The Observe pricing model is mercifully simple, being based on ingestion volumes for:
Ingestion is actually charged on a downward sliding scale, so that the cost per GIB falls as ingestion volumes increase.
Metrics are charged on the basis of Metric Points Per Minute. To understand this we need to understand the concept of a time series.
A time series metric typically consists of a set of key-value pairs (labels) and a series of timestamped values. Each time series is uniquely identified by its metric name and the key/value combinations of its labels. To understand how this works it is best if we look at a concrete example.
Let us imagine we have a Kubernetes cluster and we want to record metrics on % cpu usage for each cpu in each node. We might have a metric which is defined as follows:
name: percent_cpu_usage labels: - instance - cpu
So, for the first CPU of an instance called "instance 1", the metric name and combination will be:
name: percent_cpu_usage labels: - instance: "instance 1" - cpu: "0"
For each instance/cpu combination, we will retrieve time series data consisting of a timestamp and a value:
timestamp: 1625235600, value: 60
So over the course of four minutes our time series might look like this:
timestamp: 1625235600, value: 60 timestamp: 1625235660, value: 59 timestamp: 1625235720, value: 62 timestamp: 1625235780, value: 73
If we have 200 hundred instances and each instance has 6 CPU's, we will have 1200 series. If we are sending metrics every 15 seconds (which is the default in Prometheus), then we will be sending 4,800 data points per minute. At the time of writing, Observe pricing starts at $0.008 for each metric point per minute. We have 4,800 metric points per minute so our monthly cost will be 4,800 * $0.008 - $38.40 per month.
In Observe, the default retention period for Logs, Metrics and Traces is 13 months.There is no additional charge for this.