Skip to content

Instantly share code, notes, and snippets.

@mstoykov
mstoykov / junit.xml
Created January 12, 2021 14:09
junit summary function
<?xml version="1.0"?>
<testsuites tests="2" failures="0">
<testsuite name="tresholds_junit.js" tests="2" failures="0">
<testcase name="http_req_duration + p(95)<50"><failure message="failed" ></testcase>
<testcase name="http_req_duration{url:http://httpbin.org/post} + max<1000" >
</testsuite>
</testsuites>
import http from "k6/http";
import { check } from "k6";
import aws from "https://gist.githubusercontent.com/MStoykov/38cc1293daa9080b11e26053589a6865/raw/9eee2c2f4af6d193d8e93719b6de2e09e451aa52/aws_k6.js";
function getSecret(region, keyname, params = {}) {
var body = `{"SecretId": "${keyname}"}`
var options = {};
options.method = "POST";
options.signSessionToken = true;
options.doubleEscape = false;
@mstoykov
mstoykov / script.js
Created October 2, 2020 15:19
Testing ws memory leak k6
'use strict'
var ws = require("k6/ws")
var k6 = require("k6")
var check = k6.check
var sleep = k6.sleep
var Counter = require('k6/metrics').Counter
var FetchRecordsSuccessRate = new Counter('FetchRecords_SuccessRate');
var connections = new Counter('Client_Read_Connections');
{
"es.symbol": false,
"es.symbol.description": false,
"es.symbol.async-iterator": true,
"es.symbol.has-instance": true,
"es.symbol.is-concat-spreadable": true,
"es.symbol.iterator": true,
"es.symbol.match": true,
"es.symbol.match-all": false,
"es.symbol.replace": true,
import http from 'k6/http';
import {check, group, sleep, fail} from 'k6';
export let options = {
scenarios:{
"vus_100": {
executor: "ramping-vus",
stages: [
{ target: 100, duration: '1m' },
{ target: 100, duration: '3m' },
@mstoykov
mstoykov / gist:7c2192da1c732f2b802c3302aa9c2b5f
Last active May 13, 2020 08:29
rg 'logrus\.(Info|Warn|Error|Log|Print|Trace|With)\w*\('
cmd/root.go: logrus.WithError(err).Warn("could not get config directory")
cmd/run.go: logrus.WithError(err).Error("failed to create summary export file")
cmd/run.go: logrus.WithError(err).Error("failed to close summary export file")
cmd/run.go: logrus.WithError(err).Error("failed to make summary export file")
cmd/cloud.go: logrus.WithError(progressErr).Error("Test progress error")
cmd/cloud.go: logrus.WithField("sig", sig).Print("Exiting in response to signal...")
cmd/cloud.go: logrus.WithError(err).Error("Stop cloud test error")
stats/json/collector.go: logrus.WithField("filename", c.fname).WithError(err).Warning(
stats/json/collector.go: logrus.WithField("filename", c.fname).Debug("JSON: Writing JSON metrics")
stats/json/collector.go: logrus.WithField("filename", c.fname).WithError(err).Warning(
package main
import (
"fmt"
"math/rand"
"sort"
"strings"
"testing"
"time"
)
@mstoykov
mstoykov / app.bundle.js
Last active November 14, 2019 11:34
webpack transformed
!function(e,t){for(var r in t)e[r]=t[r]}(exports,function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r
.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module
"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty
(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){
return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=2)}([function(e,t){e.exports=require("k6/http")},function(
@mstoykov
mstoykov / aws_k6.js
Last active February 26, 2022 06:33
k6 compatible awsv4 library
/* eslint-__ENV node */
/* eslint no-use-before-define: [0, "nofunc"] */
"use strict";
// sources of inspiration:
// https://web-identity-federation-playground.s3.amazonaws.com/js/sigv4.js
// http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
var crypto = require("k6/crypto");
function createCanonicalRequest(
package main
import (
"fmt"
"net/url"
"strings"
"testing"
"github.com/stretchr/testify/assert"
)