| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { sleep, check, group } from 'k6';
- import { createBasicAuthClient } from './modules/client.js';
- export let options = {
- noCookiesReset: true
- };
- let endpoint = __ENV.URL || 'http://localhost:10080/grafana';
- const client = createBasicAuthClient(endpoint, 'user1', 'grafana');
- client.withOrgId(1);
- export const setup = () => {
- const adminClient = createBasicAuthClient(endpoint, 'admin', 'admin');
- let res = adminClient.datasources.getByName('gdev-prometheus');
- if (res.status !== 200) {
- throw new Error('Expected 200 response status when creating datasource');
- }
- return {
- datasourceId: res.json().id,
- };
- }
- export default (data) => {
- group("auth proxy test", () => {
- group("batch proxy requests", () => {
- const d = new Date();
- const batchCount = 300;
- const requests = [];
- const query = encodeURI('topk(5, max(scrape_duration_seconds) by (job))');
- const start = (d.getTime() / 1000) - 3600;
- const end = (d.getTime() / 1000);
- const step = 20;
- requests.push({ method: 'GET', url: '/api/annotations?dashboardId=8&from=1558670300607&to=1558691900607' });
- for (let n = 0; n < batchCount; n++) {
- requests.push({
- method: 'GET',
- url: `/api/datasources/proxy/${data.datasourceId}/api/v1/query_range?query=${query}&start=${start}&end=${end}&step=${step}`,
- });
- }
- let responses = client.batch(requests);
- for (let n = 0; n < batchCount; n++) {
- check(responses[n], {
- 'response status is 200': (r) => r.status === 200,
- });
- }
- });
- });
- sleep(5)
- }
- export const teardown = (data) => {}
|