Materia TS
Materia is a new serverless databases offering by Clever Cloud. A whole range of services meeting the needs expressed by our customers in recent years, with an open and resilient approach. It includes deployment across multiple availability zones, compatibility with existing protocols, clients, and pay-as-you-go billing. It’s built on the FoundationDB open source transactional engine. A distributed and robust solution, notably thanks to its high simulation capacity.
Materia TS is the time series database of this family. It comes with simplicity in mind. You have no instance size to choose, no storage capacity to worry about. We simply provide you with a host address, a port and a token: you’re ready to go! Once our servers send a reply message, your data is durable: it’s synchronously replicated over 3 data centers in Paris.
You don’t have to configure leaders, followers: high availability is included, by design.
Materia TS is in private access
Ask for activation to your sales representative or Clever Cloud support
Main concepts
Warp 10 is a time series database, it uses the notion of class, labels, longitude, latitude, altitude and value. labels is a kind of dictionary. That’s called a map under the warp10 terminology.
A GeoTime Serie (GTS) is defined by a class and some labels. They’re indexed and used to quickly retrieved the data. A GTS may contain some values which have the following model: [ timestamp longitude latitude altitude value ]
Warp 10 uses Warp Script. It’s a stack based language using reverse polish notation.
Create a Materia TS add‑on
To create a Materia TS add-on, use the Console or the following command in Clever Tools:
clever addon create ts myTS --org <your_org_id>The add-on is immediately created and you can start using it with provided tokens.
Using your Materia TS add-on
Materia TS uses Warp10 time series engine and WarpsScript query language. It provides PromQL and Prometheus Ingestion gateway in addition to warp10 endpoints. You can also use Time Series Language (TSL) previously written by OVHcloud Metrics team.
| Endpoint | Description |
|---|---|
https://materiats.eu-fr-1.services.clever-cloud.com:443/api/v0/update | Warp10 compatible Ingestion endpoint |
https://materiats.eu-fr-1.services.clever-cloud.com:443/api/v0/exec | WarpScript query language endpoint |
https://catalyst-materiats.eu-fr-1.services.clever-cloud.com:443/ | Prometheus Ingestion gateway |
https://prometheus-materiats.eu-fr-1.services.clever-cloud.com:433 | PromQL endpoint |
For complete technical documentation on Warp 10 and its query language, see our Warp 10 documentation.
HTTP headers to pass tokens
Warp 10 related endpoints expects a X-warp10-token HTTP header containing
the read or write token of your add-on. Prometheus related endpoints expects
your tokens inside the Authorization HTTP header.
Time and duration in Warp 10
The platform’s time unit is in microsecond.
Duration is set by the followings symbols
d: dayh: Hourms: millisecondns: nanosecondps: picoseconds: secondus: microsecondw: week
Date
Allowed format:
- ISO8601
- Timestamp in microsecond
Builtin function:
NOW: get the current timestampISO8601: Convert a string or a timestamp to a ISO8601 date format
Technical constraints
The followings limits are defined in Warp 10. The soft limit can be passed over by an AUTHENTICATE operation. Operations over soft limits may be intensive. The hard limit is unsurpassable.
| WarpScript Operator | Warp 10 limit description | soft limit | hard limit |
|---|---|---|---|
| MAXGTS | Maximum number of GTS which can be fetched | 10e5 | 5e7 |
| LIMIT | Maximum number of datapoints which can be fetched during a script execution | 10e6 | 10e7 |
| MAXBUCKETS | Maximum number of buckets which can be created by a call to BUCKETIZE | 10e5 | 50e5 |
| MAXDEPTH | Maximum depth (number of levels) of the execution stack | 5e3 | 5e3 |
| MAXLOOP | Maximum number of milliseconds which can be spent in a loop | 5e3 | 10e3 |
| MAXOPS | Maximum number of operations which can be performed during a single WarpScript execution | 5e6 | 5e7 |
| MAXSYMBOLS | Maximum number of simultaneous symbols which can be defined on the stack during a single WarpScript execution | 64 | 256 |
| MAXGEOCELLS | Maximum number of cells a GEOSHAPE | 10e3 | 10e4 |
| MAXPIXELS | Maximum size (in pixels) of images which can be created by PGraphics | 10e5 | 10e5 |
| MAXRECURSION | Maximum nesting depth of macro calls | 16 | 32 |
Usage
An example where it is needed to increase the fetch limit by the LIMIT function
'<READTOKEN>' AUTHENTICATE
50e6 TOLONG LIMIT
// Fetch on the 'accessLogs' class for your application id as labels
[ '<READTOKEN>' 'accessLogs' { 'app_id' '<APP_ID>' } NOW 1 w ] FETCHVisualization and exploration
Quantum
Quantum is a web tool used to run some WarpScript. You can access to it from your metrics interface.
It provides the path to the Clever Cloud Warp 10 gateway and let you explore your data.
Classes Reference
In Warp 10, classes organize metrics from various sources, like applications or add-ons, into specific categories (CPU usage, memory statistics, etc.). This structure makes the data easy to retrieve and analyze with WarpScript.
For a complete list of Telegraf classes and their descriptions, see the classes list.
Macro
Warp 10 provide a server side macro manager. It is a way to release some ready to use WarpScript. Hence, Clever Cloud provides some macros as helpers to avoid redundant and often need code.
Consumption
The following macros are helpers to compute consumption in seconds
app_consumption
Return the consumption in second by applications for a specific organisation.
Start and End parameters can be either a timestamp in microseconds or an iso8601 date format.
'<READ TOKEN>' '<ORGANISATION ID>' '<START>' '<END>' @clevercloud/app_consumptionorga_consumption
Return all the consumption in second for a specific organisation. Start and End parameters
can be either a timestamp in microseconds or an iso8601 date format.
'<READ TOKEN>' '<ORGANISATION ID>' '<START>' '<END>' @clevercloud/app_consumptionDid this documentation help you ?