Skip to content

Instantly share code, notes, and snippets.

View polarnik's full-sized avatar

Smirnov Viacheslav polarnik

View GitHub Profile
@polarnik
polarnik / defaultPageCompleteCheck.js
Last active June 30, 2025 13:43
SiteSpeed custom wait function
function defaultPageCompleteCheck(waitTime) {
var end = window.performance.timing.loadEventEnd;
var start = window.performance.timing.navigationStart;
return (end > 0) && (performance.now() > end - start + waitTime);
}
function customWaitTime() {
return 2000;
}
@polarnik
polarnik / CreateOneUser.java
Created June 24, 2025 15:21
ConcurrentLinkedQueue in Gatling
@Slf4j
public class CreateOneUser extends Simulation {
{
final ConcurrentLinkedQueue<Pair<String, String>> tokens = new ConcurrentLinkedQueue<>();
final int userCount = Integer.parseInt(System.getProperty("users", "1000000"));
final double parallel_threads = Double.parseDouble(System.getProperty("parallel_threads", "10"));
setUp(
(new UserCreator().users(tokens, userCount, parallel_threads)).andThen(
new TokenSaver(tokens).tokensEnd()
@polarnik
polarnik / Default or HttpClient4 implementation.java
Created June 5, 2025 09:54
Apache JMeter HTTPS connection error because the Port Number was incorrect. I used 403 instead of 443
org.apache.http.conn.HttpHostConnectException: Connect to localhost:403 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:409)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
@polarnik
polarnik / defaultPageCompleteCheck.js
Created May 31, 2025 14:41
defaultPageCompleteCheck.js
return (function(waitTime) {
try {
console.log(`defaultPageCompleteCheck: waitTime ${waitTime}`);
var end = window.performance.timing.loadEventEnd;
console.log(`defaultPageCompleteCheck: end ${end}`);
var start= window.performance.timing.navigationStart;
console.log(`defaultPageCompleteCheck: start ${start}`);
console.log(`defaultPageCompleteCheck: end > 0 : ${end > 0}`);
console.log(`defaultPageCompleteCheck: end - start + waitTime : ${end - start + waitTime}`);
@polarnik
polarnik / nginx.conf.accesslog
Created May 14, 2025 09:21
nginx.conf.accesslog
# https://nginx.org/en/docs/http/ngx_http_core_module.html
log_format json_combined escape=json '{'
'"arg_customFields":"$arg_customFields",'
'"arg_fields":"$arg_fields",'
'"body_bytes_sent":"$body_bytes_sent",'
'"bytes_sent":"$bytes_sent",'
'"connection":"$connection",'
'"connection_requests":"$connection_requests",'
'"connection_time":"$connection_time",'
'"content_length":"$content_length",'
@polarnik
polarnik / chromedriver-1.log
Created May 4, 2025 10:40
Runtime.executionContextsCleared between preUrl and the main Url. The line number is 54790
This file has been truncated, but you can view the full file.
[1746351747.917][INFO]: Starting ChromeDriver 107.0.5304.62 (1eec40d3a5764881c92085aaee66d25075c159aa-refs/branch-heads/5304@{#942}) on port 37251
[1746351747.918][INFO]: Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
[1746351747.939][INFO]: [21a863cdcf29a940cea3131a0bae0344] COMMAND InitSession {
"capabilities": {
"alwaysMatch": {
"browserName": "chrome",
"goog:chromeOptions": {
"args": [ "--no-sandbox", "--disable-setuid-sandbox", "--disable-gpu", "--disable-features=AutofillServerCommunication,CalculateNativeWinOcclusion,HeavyAdPrivacyMitigations,InterestFeedContentSuggestions,MediaRouter,OfflinePagesPrefetching,OptimizationHints,SidePanelPinning,Translate,msAutofillEdgeCoupons,msShoppingTrigger,msEdgeShoppingUI,msEntityExtraction,msEntityExtractionProactive,msWebAssist", "--window-position=0,0", "--window-size=1440,900", "--host-resolver-rules=\"MAP cache.pack.google.com 127.0.0.1,MAP clients1.google
package com.jetbrains.youtrack.perftest.scenario.test;
import io.gatling.javaapi.core.*;
import lombok.extern.slf4j.Slf4j;
import java.util.function.Function;
import static io.gatling.javaapi.core.CoreDsl.*;
@Slf4j
# https://docs.docker.com/compose/compose-file/
# https://docs.docker.com/compose/compose-file/05-services/
services:
grafana:
image: grafana/grafana:10.4.7 # 11.1.4
hostname: grafana
mem_reservation: 300m
mem_limit: 5000m
import org.slf4j.Logger;
import org.testcontainers.containers.BindMode;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.Network;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.containers.output.WaitingConsumer;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
{
@polarnik
polarnik / do_handleSummary.js
Created September 1, 2024 16:51
k6 functions for sending summary metrics to influxdb
// "https://raw.githubusercontent.com/benc-uk/k6-reporter/main/dist/bundle.js";
//import { htmlReport } from "./ext_k6_reporter.js";
// "../ext/ext_k6-sammary-0.0.2.js"
import { jUnit, textSummary } from "https://jslib.k6.io/k6-summary/0.0.2/index.js";
import { influxLineSummary } from './k6_summary_2_influx_line.js';
import http from 'k6/http';
export function do_handleSummary(data) {
let filteredData = JSON.parse(JSON.stringify(data), function(key, value){
if(key=='cookies')