All Projects → TracerBench → Har Remix

TracerBench / Har Remix

Licence: bsd-2-clause
Easily serve a HAR archive with loose matching and alterations.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Har Remix

Hrm Solutions
Human Resource Machine solutions and size/speed hacks
Stars: ✭ 332 (+1647.37%)
Mutual labels:  benchmarking
Lzbench
lzbench is an in-memory benchmark of open-source LZ77/LZSS/LZMA compressors
Stars: ✭ 490 (+2478.95%)
Mutual labels:  benchmarking
Swift Benchmark
A swift library to benchmark code snippets.
Stars: ✭ 659 (+3368.42%)
Mutual labels:  benchmarking
Pedestron
[Pedestron] Generalizable Pedestrian Detection: The Elephant In The Room. On ArXiv 2020
Stars: ✭ 352 (+1752.63%)
Mutual labels:  benchmarking
Tufte
Simple profiling and performance monitoring for Clojure/Script
Stars: ✭ 401 (+2010.53%)
Mutual labels:  benchmarking
Tsbs
Time Series Benchmark Suite, a tool for comparing and evaluating databases for time series data
Stars: ✭ 545 (+2768.42%)
Mutual labels:  benchmarking
Sqlbench
sqlbench measures and compares the execution time of one or more SQL queries.
Stars: ✭ 319 (+1578.95%)
Mutual labels:  benchmarking
Advertorch
A Toolbox for Adversarial Robustness Research
Stars: ✭ 826 (+4247.37%)
Mutual labels:  benchmarking
Processhacker
A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware.
Stars: ✭ 6,285 (+32978.95%)
Mutual labels:  benchmarking
Fuzzbench
FuzzBench - Fuzzer benchmarking as a service.
Stars: ✭ 612 (+3121.05%)
Mutual labels:  benchmarking
Genrl
A PyTorch reinforcement learning library for generalizable and reproducible algorithm implementations with an aim to improve accessibility in RL
Stars: ✭ 356 (+1773.68%)
Mutual labels:  benchmarking
Goben
goben is a golang tool to measure TCP/UDP transport layer throughput between hosts.
Stars: ✭ 391 (+1957.89%)
Mutual labels:  benchmarking
Cleverhans
An adversarial example library for constructing attacks, building defenses, and benchmarking both
Stars: ✭ 5,356 (+28089.47%)
Mutual labels:  benchmarking
Benchmarking Keras Pytorch
🔥 Reproducibly benchmarking Keras and PyTorch models
Stars: ✭ 346 (+1721.05%)
Mutual labels:  benchmarking
Pytest Benchmark
py.test fixture for benchmarking code
Stars: ✭ 730 (+3742.11%)
Mutual labels:  benchmarking
Vegeta
HTTP load testing tool and library. It's over 9000!
Stars: ✭ 18,780 (+98742.11%)
Mutual labels:  benchmarking
Performance Analysis Js
Map/Reduce/Filter/Find Vs For loop Vs For each Vs Lodash vs Ramda
Stars: ✭ 532 (+2700%)
Mutual labels:  benchmarking
Pwned
Simple C++ code for simple tasks
Stars: ✭ 16 (-15.79%)
Mutual labels:  benchmarking
Benchmarkdotnet
Powerful .NET library for benchmarking
Stars: ✭ 7,138 (+37468.42%)
Mutual labels:  benchmarking
Noisia
Harmful workload generator for PostgreSQL
Stars: ✭ 591 (+3010.53%)
Mutual labels:  benchmarking

!! Moved !!

HAR-Remix is now contained within the TracerBench mono-repo available here: https://github.com/TracerBench/tracerbench/tree/master/packages/har-remix

HAR-Remix

HAR-Remix allows the offline serving of HTTP Archive (HAR) files.

Many browsers (Chrome, Firefox) provide archive files that contain everything needed to load a page offline without accessing external resources. This is necessary for obtaining a high p-value (confidence) in the delta between code in master and code you‘re seeking to introduce into the codebase. Depending upon assets or external resources like images, tracking, advertisements, stylesheets, script files, icons, etc. is unpredictable and muddies the result of the site’s performance. What we want to see is how the site, having to download no content, can consistently be loaded and its load's performance evaluated and logged for further representation.

Through the use of the HAR Remix tool, we can serve HAR files as offline pages and evaluate them.

Basic Implementation

Easily serve HAR archive with loose matching and alterations.

You can save a HAR archive with content from the Network tab of Chrome by right clicking the recorded responses.

import HARRemix from "har-remix";
import * as url from "url";

let harRemix = new HARRemix({
  keyForArchiveEntry(entry) {
    let { request, response } = entry;
    let { status } = response;
    if (status >= 200 && status < 300 && request.method !== "OPTIONS") {
      return request.method + url.parse(request.url).path;
    }
  },

  keyForServerRequest(req) {
    return req.method + req.url;
  },

  textFor(entry, key, text) {
    if (key === "GET/") {
      return text.replace(/my-cdn.com/, "localhost:6789");
    }
    return text;
  }
});

harRemix.loadArchive("my-site.com.har");

harRemix.createServer().listen(6789);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].