curl --request GET \
--url https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"executionId": "<string>",
"hostname": "<string>",
"timeRange": {
"start": "<string>",
"end": "<string>"
},
"gpuUtilizationPercent": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuMemoryUtilizationPercent": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuTemperatureCelsius": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuPowerWatt": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuPowerLimitWatt": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuClockSmMhz": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuClockMemMhz": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuPcieThroughputRxBytesPerSec": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuPcieThroughputTxBytesPerSec": [
{
"timestamp": "<string>",
"value": 123
}
],
"systemRamTotalBytes": [
{
"timestamp": "<string>",
"value": 123
}
],
"systemRamUsedBytes": [
{
"timestamp": "<string>",
"value": 123
}
],
"systemCpuUsagePercent": [
{
"timestamp": "<string>",
"value": 123
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get execution metrics
Get GPU and system metrics from Prometheus for a specific execution.
This endpoint queries Grafana Cloud’s Prometheus for GPU and system metrics associated with the execution’s hostname (execution_owner).
GPU Metrics (via DCGM):
- gpuUtilizationPercent: GPU utilization percentage (0-100)
- gpuMemoryUtilizationPercent: GPU memory utilization percentage (0-100)
- gpuTemperatureCelsius: GPU temperature in Celsius
- gpuPowerWatt: GPU power draw in watts
- gpuPowerLimitWatt: GPU power limit in watts
- gpuClockSmMhz: GPU SM clock speed in MHz
- gpuClockMemMhz: GPU memory clock speed in MHz
- gpuPcieThroughputRxBytesPerSec: PCIe receive throughput in bytes/sec
- gpuPcieThroughputTxBytesPerSec: PCIe transmit throughput in bytes/sec
System Metrics:
- systemRamTotalBytes: Total system RAM in bytes
- systemRamUsedBytes: Used system RAM in bytes
- systemCpuUsagePercent: CPU usage percentage (0-100)
curl --request GET \
--url https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lyceum.technology/api/v2/external/execution/{execution_id}/metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"executionId": "<string>",
"hostname": "<string>",
"timeRange": {
"start": "<string>",
"end": "<string>"
},
"gpuUtilizationPercent": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuMemoryUtilizationPercent": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuTemperatureCelsius": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuPowerWatt": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuPowerLimitWatt": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuClockSmMhz": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuClockMemMhz": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuPcieThroughputRxBytesPerSec": [
{
"timestamp": "<string>",
"value": 123
}
],
"gpuPcieThroughputTxBytesPerSec": [
{
"timestamp": "<string>",
"value": 123
}
],
"systemRamTotalBytes": [
{
"timestamp": "<string>",
"value": 123
}
],
"systemRamUsedBytes": [
{
"timestamp": "<string>",
"value": 123
}
],
"systemCpuUsagePercent": [
{
"timestamp": "<string>",
"value": 123
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Pass an API key (prefixed lk_) or a JWT access token as a bearer token. Generate API keys in the dashboard at https://dashboard.lyceum.technology/api-keys.
Path Parameters
Query Parameters
ISO 8601 start timestamp (defaults to execution start_time)
ISO 8601 end timestamp (defaults to execution end_time or current time)
Query resolution (e.g., '5s', '15s', '1m')
Response
Successful Response
Response model for execution metrics (GPU and system).
Time range for the metrics query.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

