//native
/**
* Fetch cluster metrics
* Fetch cluster metrics.
*/
export async function main(
auth: RT.Qovery,
clusterId: string,
endpoint: string | undefined,
query: string | undefined,
start?: string | undefined,
end?: string | undefined,
step?: string | undefined,
time?: string | undefined,
timeout?: string | undefined,
dedup?: string | undefined,
partial_response?: string | undefined,
max_source_resolution?: string | undefined,
engine?: string | undefined,
analyze?: string | undefined,
board_short_name?: string | undefined,
metric_short_name?: string | undefined,
trace_id?: string | undefined,
range?: string | undefined
) {
const url = new URL(`https://api.qovery.com/cluster/${clusterId}/metrics`)
for (const [k, v] of [
['endpoint', endpoint],
['query', query],
['start', start],
['end', end],
['step', step],
['time', time],
['timeout', timeout],
['dedup', dedup],
['partial_response', partial_response],
['max_source_resolution', max_source_resolution],
['engine', engine],
['analyze', analyze],
['board_short_name', board_short_name],
['metric_short_name', metric_short_name],
['trace_id', trace_id],
['range', range]
]) {
if (v !== undefined && v !== '') {
url.searchParams.append(k, v)
}
}
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: 'Token ' + auth.apiKey
},
body: undefined
})
if (!response.ok) {
const text = await response.text()
throw new Error(`${response.status} ${text}`)
}
return await response.json()
}
Submitted by hugo697 235 days ago