Performance testing ·
$4.48 a Gallon: Your Holiday Checkout Is the New Mall
Prepare your checkout for Black Friday with production traffic replay, peak-load tests, and partner API failure rehearsals before the holiday code freeze.
Search 305 articles and 482 question sections. Each answer links to its original explanation and examples.
305 articles
No matches. Try a broader term or choose all topics.
Performance testing ·
Prepare your checkout for Black Friday with production traffic replay, peak-load tests, and partner API failure rehearsals before the holiday code freeze.
Performance testing ·
After spending hours or even days manually testing your software, you may be wondering whether or not there's a better way. The good news? There is.
Automated software testing is the practice of creating, running, and analyzing tests automatically (typically with specialized tooling and testing frameworks), with the goal of minimizing time-consuming and repetitive tasks experienced by manual testers. While using a software test automation…
Knowing the benefits of software test automation is only one piece of the puzzle. Arguably, it is more important to know where to implement it. In many development workflows, such as CI/CD pipelines, it is common to require tests to be run automatically before code is merged or deployed to ensure…
Automated testing allows for the shifting of process development, test automation framework development, test maintenance, and more away from active development. Testing is an ongoing and critical function of any software development process, and this is especially true of the application…
AI development ·
The Model Context Protocol (MCP) is rapidly becoming the connective tissue for agentic AI systems and IDE tooling.
Traffic capture and replay ·
A power failure in one Google Cloud London zone took down banking apps for hours. Five questions to answer with real traffic before the next outage answers them for you.
Diagrams go stale. Network traffic doesn’t. Capturing real API traffic between your services shows every upstream and downstream call your application makes, including third-party APIs, managed databases and identity providers that never made it onto a whiteboard. From that traffic you can build a…
Performance testing ·
Application performance can make the difference between retaining or losing customers, with delays beyond a few seconds leading to dropped conversions.
With users expecting quick, reliable, and efficient interactions, your app’s performance directly influences their experience and your app’s overall reputation. It’s not just about functionality; it’s about delivering that functionality swiftly and smoothly. Tracking and optimizing overall app…
Regular testing and monitoring are essential to identify and improve overall app performance. Start by defining and tracking essential Key Performance Indicators (KPIs) such as load times and error rates. These app performance metrics will help you establish benchmarks, pinpoint bottlenecks, and…
AI development ·
The near-ubiquity of LLM systems in 2025 has changed the game in many ways. While Large Language Models have been around for some time...
Performance testing ·
What do good tests look like, and do you even need a Golang testing framework? It’s a loaded question with an open answer.
Golang testing frameworks are essential tools that streamline the testing process, making it more efficient and effective. These frameworks provide a suite of features designed to help developers write and run tests, ensuring that their code functions as intended and catching bugs early in the…
It’s always important to use the right tool for the job. You can get far with the basic testing capabilities provided by the testing package and go test command. However, it falls short when it comes to larger tests and assertions, which is where test frameworks come in. In this post, you’ve seen a…
API mocking ·
Compare the 7 best service virtualization tools of 2026 including Speedscale, WireMock, Hoverfly, and Parasoft. Features, pros, cons, and use cases.
Service virtualization is a technique used in software development to simulate the behavior of specific software components or systems that are otherwise unavailable or difficult to access during development and testing. By using a virtualization solution in your testing environment, you can mimic…
Service virtualization utilizes several approaches to create realistic simulations of software components and structures. This is broadly separated into four distinct categories, with product offerings specializing in each domain. The tooling is designed to capture traffic and behavior between…
API mocking creates simple request/response stubs, typically hand-written by developers. Service virtualization goes further — it captures real traffic patterns, simulates stateful behavior, and models performance characteristics like latency and throughput. Service virtualization tools are…
No. Service virtualization works with any architecture that has external dependencies — monoliths calling third-party APIs, mainframe systems communicating over MQ, or microservices calling each other. The technique is architecture-agnostic.
Service virtualization tools like Speedscale and Proxymock integrate directly into CI/CD pipelines. Instead of spinning up real dependencies for every test run, your pipeline uses virtualized services that respond with production-realistic data, making tests faster, cheaper, and more reliable.
Hoverfly is an open-source API simulation tool focused on capture-and-replay for lightweight testing. Speedscale is an enterprise platform that adds production traffic replay, load testing, and automatic mock generation from real Kubernetes traffic. Hoverfly works well for individual developers;…
Performance testing ·
Add continuous performance tests to CI with bounded smoke checks and scheduled load runs. Choose meaningful gates and handle noisy results with baselines.
Continuous performance testing, also known as a continuous performance test, is the continuous monitoring of the performance of an application under increased load. Use short checks on suitable commits and schedule larger tests when their duration and infrastructure requirements fit. Automation…
There are several types of performance testing, but one that is often used is load testing. Load tests are designed to simulate the activity of multiple users accessing software simultaneously. Similar to stress testing, the goal is to test the limits of how many requests the application can…
This depends upon the company’s needs, but generally speaking, some companies will find continuous performance tests more valuable than others. These companies typically have: A large user base High volumes of regular interaction and/or seasonal spikes in traffic Invested a lot of time or money…
Slow responses and timeouts can harm the user experience. Set acceptance criteria from your service’s requirements and observed user journeys. Historical general-purpose page-load percentages do not establish an API-specific latency budget. Use repeatable workloads to detect changes before release,…
To begin continuous performance testing, first make sure that you have a continuous integration pipeline, or CI pipeline, in place. Integrating continuous performance testing is crucial for enhancing software performance and user experience. Start by setting up a structured approach that includes…
Not necessarily. Run a small, repeatable check for high-risk paths early, and schedule broader load, stress, or soak tests when their duration and environment needs fit. Use additional gates for relevant changes or releases. Choose frequency from the risk, cost, and reliability of the result rather…
Choose a few business-critical requests or journeys and a bounded workload that completes predictably. Prepare valid data and credentials, assert response correctness, and define an explicit error or latency gate with enough samples to be useful. Prove the job fails on a deliberate defect before…
Record the build, workload, resource configuration, data state, and dependency mode with every run. Repeat an unchanged baseline to characterize variation and compare like environments. Investigate unstable infrastructure and generator saturation instead of silently loosening thresholds. Review…
AI development ·
AI code reliability explained for developers using LLMs to write faster while keeping their code safe and maintainable
AI-generated code can indeed be deployed to production, but it requires validation first. Treat it like code from a capable but junior developer, requiring review and testing before deployment, rather than a “rubber stamp”. The key is building validation processes that catch AI-specific issues,…
Better prompting helps significantly. Be specific about libraries and versions, provide context about your architecture and constraints, include example inputs and expected outputs, and explicitly ask for error handling. Provide documentation or examples to guide the AI’s approach.
Hallucinated code occurs when AI generates functions, methods, or APIs that appear plausible but don’t actually exist. You can catch it by systematically verifying that every function call references real library methods, using IDE error checking, and validating against official documentation.…
Yes, several significant risks. The code might contain hallucinated functions, security vulnerabilities, outdated patterns, or logic that doesn’t align with your specific requirements. AI code from chat platforms also lacks context about your application architecture. Always validate, test, and…
Kubernetes and observability ·
Kubernetes (k8s) is becoming the go-to solution for managing containerized applications. Effectively managing and understanding what happens within a...
Kubernetes visibility refers to the ability to monitor and understand the state and behavior of all aspects of a Kubernetes environment. This includes underlying infrastructure as well as application traffic.
Visibility into your Kubernetes deployment can improve performance in several aspects: Proactive Monitoring: Continuously monitoring pods, nodes, and services helps teams detect and address potential issues before they impact application performance metrics. Resource Allocation: Visibility tools…
However, achieving full visibility in Kubernetes can be extra challenging. For starters this is because: Complexity of Architecture: Kubernetes environments are highly dynamic and distributed. There are also differences between your own application versus Kubernetes overhead such as Kubernetes…
While vanilla Kubernetes offers basic monitoring tools via the Kubernetes API (this powers tools like kubectl and the Kubernetes dashboard), these are often insufficient for comprehensive visibility. Additional tools are used for: Extended Capabilities: Specialized tools can capture more detailed…
Kubernetes and observability ·
With the promise of auto-provisioning and self-healing, Kubernetes environments can be an attractive option for hosting your application platform.
At its core, Kubernetes uses a master-worker architecture, consisting of: Control Plane - this system manages the cluster’s state and orchestrates operations. Key components include the API server, scheduler, and other orchestration systems. Nodes (Worker Nodes) - nodes run the containerized…
In essence, Karpenter combines Kubernetes cluster awareness with instance provisioning and auto-scaling solutions. Karpenter is monitoring the Kubernetes API server for pods that cannot be scheduled based on resource demands that are unmet. When these demands are discovered, it figures out what the…
With all of this in mind, let’s take a structured look at how you can optimize Kubernetes clusters with Karpenter in practice. To do this, we’ll explore the concept of rightsizing, a process by which you can maximize efficiency and performance, and the cloud infrastructure underpinning it all.
Engineering and company news ·
Cloud-native development and DevOps accelerate delivery—but add complexity. Move fast safely with Speedscale: key patterns and pitfalls. Learn more.
API mocking ·
Compare service virtualization, mocks, and stubs. Choose the right test boundary, verify state behavior, and keep real dependency checks where they matter.
The degree of mimicking real software components depends on your test scenarios.
A stub or test double is often used as simple, consistent returns to method calls, and are commonly used by an individual developer for unit testing (vs. shared with a team). Stubs typically return static test data and do not dynamically contain state. For example, let’s say one of your dependent…
API mocking or service mocks usually happen over a network and have a more varied library of responses. Some network mocks support explicit stateful scenarios; others simply return matching fixtures. For example, eCommerce web services could have dependent components for the shopping cart. Real…
API service virtualization usually addresses this by “learning” as much behavior about specific software components by recording the network traffic. Service virtualization is more commonly used during functional tests, integration tests, and acceptance tests. For a refresher on service…
Future solutions will require virtual services to be cheap and quick to build. As the complexity of microservices increases, it becomes virtually impossible for humans to reason about. This is why platform engineering espouses the need for internal developer platforms (IDPs), and reduces cognitive…
Use a stub when the test needs a small, explicit response or error and the dependency’s internal behavior is not the subject. A function-level stub suits isolated logic; a network stub also exercises the real client and serialization path. Add complexity only when the test requires sequences, state…
Only if the chosen tool and scenario implement it. WireMock and Hoverfly support explicit state mechanisms, so statefulness is not exclusive to tools marketed as service virtualization. A sequence of recorded responses does not become an arbitrary shopping-cart backend or database engine. Verify…
Keep real test instances for provider-owned behavior such as database constraints, transaction semantics, actual authentication decisions, and protocol compatibility. Mocks can verify how your caller handles selected responses, but cannot establish that the provider accepts a new request or…
AI development ·
Discover why AI coding agents are breaking Agile workflows and driving the shift to an intent-based AI Software Factory.
AI development ·
It’s no longer theoretical - artificial intelligence has left research labs and entered production systems, generating a new breed of consumers.
AI agents are at the forefront of modern software systems, designed to operate autonomously or semi-autonomously in a variety of environments. These agents leverage advanced technologies such as natural language processing and machine learning to interpret user input, analyze data, and adapt their…
AI agents are software systems that use artificial intelligence and machine learning to perform tasks autonomously. They range from simple reflex agents, which are driven by predefined rules to perform a particular and limited function, to advanced goal-based and utility-based agents that maintain…
APIs are particularly appealing to AI agents because they offer a standardized, programmatic way to interact with software systems and services. Through APIs, AI agents can capture traffic, analyze real world conditions, and replay traffic to test how systems respond under various scenarios. This…
AI development ·
As a software engineer, I’ve always leaned on a solid foundation of code reviews, unit tests, and CI pipelines to ensure quality.
AI development ·
AI agents silently modify working systems to force changes through. Three real patterns and the guardrails that catch them.
AI development ·
Fast mode or deep mode? Haiku or Opus? Cursor or Claude Code? The decision fatigue from AI coding tools is killing the productivity they promised.
AI development ·
Explore 5 bold AI predictions for 2026. From the burst of the AI bubble to the rise of 'vibe coding' and agentic workflows, discover why the future of.
AI development ·
AI pushed throughput up 59%, yet median delivery got worse. The bottleneck moved to validation. How replaying production traffic in CI closes the gap.
AI development ·
Explore the technical architecture of the AI Software Factory, focusing on tool convergence and the Unified Context Layer.
API testing ·
Are you looking to benefit from automation but lack the experience to leverage an API? To equip you with the tools you need to start utilizing APIs and...
API stands for Application Programming Interface. An API is a set of programming code that enables data transmission between one software product and another.
APIs sit between an application and the web server, acting as an intermediary layer that processes data transfer between systems. Here’s how an API works: A client application initiates an API call to retrieve information—also known as a request. This request is processed from an application to the…
While there are many aspects of API testing, it generally consists of making requests to a single or sometimes multiple API endpoints and validating the response. The purpose of API testing is to determine if the API meets expectations for functionality, performance, and security.
The most used API is a RESTful API (Representational State Transfer API). RESTful APIs allow for interoperability between different types of applications and devices on the internet.
A REST API conforms to the design principles of the REST, or representational state transfer architectural style. Restful APIs are extremely simple when it comes to building and scaling as compared to other types of APIs. When these types of APIs are put into action, they help facilitate…
REST API Testing is a web automation testing technique for testing REST-based APIs for web applications without using the user interface. The purpose of REST API testing is to record the response of REST API by sending various HTTP requests to check if REST API is working correctly. You can test a…
JSON is the most popular response data format amongst developers. JSON (JavaScript Object Notation) is a lightweight >Learn how Speedscale’s solutions can help improve your API testing & performance. Stay tuned for our upcoming post: REST API & Testing Terminology Everyone Should Know.
AI development ·
Security breaches rarely begin with a hidden zero-day exploit or a complex web of escalated hacks.
Traditional security tools have their place. Linters and description validators, such as Spectral and LintGPT, are excellent at enforcing consistency and design quality pre-deployment, and they’re also fairly effective at flagging common issues, including those identified in the OWASP API Security…
Simulating traffic isn’t about blasting endpoints with noise. It’s about reproducing the way legitimate API users, as well as malicious threat actors, interact with your web APIs. This can be done by capturing actual API usage via logging middleware or gateways and replaying it in test…
AI development ·
Staging environments are often looked at as the testing ground ahead of the “real” production environment.
Automated API testing is only effective when it reflects how your APIs are actually used. Unfortunately, too many API test suites focus on ideal, expected scenarios. They validate status codes, check for expected responses, and verify schema compliance, but often overlook the importance of…
Let’s be clear here - API testing isn’t optional. APIs are Application Programming Interfaces - they are the Rosetta Stone that interfaces your system with every other system, and getting this right is the difference between universal understanding and absolute bedlam. It’s one of the most…
API testing ·
Security isn’t just about keeping threats outside a well-defined perimeter. In fact, it’s as much about accepting that there is no perimeter.
Performance testing ·
Choose API testing tools for exploration, CI regression, and dependency isolation. Compare assertions, protocols, workflows, and migration requirements.
API testing involves a provider employing various tests to confirm their Application Programming Interfaces (APIs) function correctly, perform efficiently, are reliable, and maintain stringent security standards. API tests often focus on a wide range of specific domains, including tests that…
There are different types of API testing, each of which have their own benefits and drawbacks. Often, multiple types can be combined to make for more comprehensive API testing, ensuring comprehensive coverage of the entire API.
A client such as Postman is useful for exploring requests and inspecting responses. Saved collections can also run through its CLI, so manual exploration and automation need not use separate products. For recorded-traffic regression, evaluate the capture, dependency mocks, assertions, artifacts,…
List every outbound connection the application needs, including startup queries and token refreshes. Route selected calls to mocks and other calls to disposable test services. Inspect matches and try an unmatched request. Block production access independently where required; a passing response…
Pilot representative authentication, scripts, assertions, variable correlation, and reports before moving the full suite. Check protocol and runtime support, CI exit behavior, and the target environment’s secrets and routing. A request import is not proof that the source tool’s scripts or…
Traffic capture and replay ·
What is API traffic replay testing? Capture, sanitize, and replay production traffic. Compare GoReplay vs WireMock vs Speedscale vs proxymock.
With the number of microservices, containers, and dependencies in modern applications, manually scripting test cases for every scenario is impractical. Traffic replay solves this by turning real production behavior into your test suite: Realistic coverage. Tests reflect actual user behavior, not…
API replay is the process of recording real API requests and responses from a live environment and playing them back against a different environment (staging, QA, or development) to validate that the application behaves correctly. It replaces manually scripted API tests with realistic production…
Replay traffic refers to the recorded HTTP requests, responses, headers, and metadata captured from a production or staging environment that are stored and subsequently sent to a target system for testing. The traffic is typically sanitized (PII removed, tokens refreshed) before replay.
Replay testing is a software testing approach where previously captured production interactions are replayed against a system under test to verify behavior, performance, and correctness. It is used for regression testing, load testing, contract validation, chaos testing, migration validation, and…
Traffic replay supports multiple API testing types: regression testing (replay old traffic against new code to catch behavioral changes), load testing (multiply captured traffic to simulate peak load), contract testing (verify API responses match expected schemas), migration testing (compare…
API mocking simulates external service responses using hand-crafted or recorded stubs. Traffic replay is broader: it captures and replays the full request/response cycle, including inbound client traffic and outbound dependency calls. In practice, the two are complementary — replay tools like…
API testing ·
A couple of weeks ago, our team returned from API World.
API testing ·
Join us as we get ready for API World 2025! This blog post is all about our pre-conference excitement, the goals we hope to achieve.
API testing ·
A scoped chaos rule takes one dependency down and nothing else, so the fallback branch in your code executes on demand instead of during an outage.
Traffic capture and replay ·
Export recorded HTTP requests to Postman collections. Add assertions, test credentials, and variables, then review updates before running in CI.
The export creates HTTP requests and saved response examples in a Postman collection. Those examples are reference data, not automatically executable assertions. Add post-response tests for status, meaningful content, and the intended business outcome. Configure variables and request chaining where…
Treat the exported file as potentially sensitive: recorded request headers and response examples can retain credential values and private data. Replace credentials with variables resolved through an appropriate secret mechanism, select test identities, and review bodies and query parameters too.…
Export a new reviewed recording to a separate file, compare its requests and examples with the maintained collection, and carry forward intentional tests and variables. Check the target hosts before executing it. Inbound-only is the default; include outbound calls explicitly when needed.…
Traffic capture and replay ·
API governance often gets a bad rap. It’s painted as the bottleneck - why new APIs (application programming interfaces, are standardized protocols that...
API mocking ·
Capture API responses once with proxymock and replay them in CI. Eliminate flaky tests from rate limits, downtime, and slow external dependencies.
When running tests in CI/CD, external API dependencies can be problematic: Unreliable availability: The API might be down or rate-limited. Slow performance: API calls introduce latency into test runs. Inconsistent data: Live APIs may return different responses over time. Using proxymock in CI…
Store a Speedscale API key in the CI platform’s secret store and initialize with proxymock init --api-key "$SPEEDSCALE_API_KEY" --yes --no-rcfile-update. Use a runner variable rather than committing the key or an initialized configuration. Check the account’s CI licensing requirements; an LLM…
Make the replay’s exit status part of the job result. Define explicit --fail-if conditions or compare against a saved baseline with --baseline and --fail-on-new-mismatch. Preserve the replay report for diagnosis. Avoid --exit-zero, swallowing failures with shell logic, or rebuilding the baseline…
Refresh them when an intentional contract change, a new workflow, or a real integration check shows that fixtures are stale. Review the recording diff and baseline changes together. Re-recording merely to make a failing candidate pass can erase a regression. Keep sensitive data out of shared…
Engineering and company news ·
Last week, I returned to India for the first time since the beginning of COVID — and what a journey it was!
API testing ·
After an eventful week of customer visits and reconnecting with partners, the centerpiece of my trip was KubeCon in Hyderabad. Walking into the venue...
AI development ·
Cursor can scaffold new API calls, proxymock traffic snapshots give me the integration tests, replays.
API testing ·
Using 'production-similar' data in pre-production is a major security risk. Learn why traditional masking fails, where hidden PII hides, and how to fix it.
Want to try this on your own machine before rolling out infrastructure-wide controls? Speedscale’s proxymock is a local-first record, replay, and mocking tool that lets you capture real API traffic and spot dynamic patterns—including hidden PII and secrets—right from your workstation. Let’s walk…
AI development ·
AI coding adoption is high and trust is dropping. A testing pyramid for agents, plus reproducible production context that grounds AI in real behavior.
Performance testing ·
It’s 2PM on a Thursday. Your engineering team is knee-deep in bugs from a recent release. But what’s the Slack channel buzzing about? Not flaky tests.
It’s 2024, and testing is still front and center in every serious software development conversation. Why? Because as our software gets more complex and user expectations skyrocket, the risks of skipping proper testing have never been higher. Modern systems are a tangled web of services, APIs, and…
Performance testing is all about making sure your software doesn’t just work—it works well, even when things get busy. Using specialized testing software, teams can simulate how real users interact with web applications, APIs, and other systems. This means throwing different types of system based…
Let’s dig deeper. Why do test tools get deprioritized? Invisible ROI: When testing works, nothing happens. That makes it hard to sell. Cultural inertia: Testing is still often seen as “QA’s problem.” Postponed investment: Tools get pushed off “until after this next release.” Developer fatigue: Most…
Speedscale was built for teams that want to ship fast without sacrificing reliability. We help you: ✅ Record real traffic from production and leverage data from real user interactions to create accurate test scenarios ✅ Replay it automatically in CI/CD, running load tests with concurrent virtual…
API mocking ·
The benefits of API mocking extend beyond just speeding up development. It enables developers to work independently of external APIs...
AI development ·
As we close out 2024, developer productivity and happiness continue to be a focus for many organizations.
Kubernetes and observability ·
Developer productivity is not just about writing code faster—it's about creating efficient, self-service environments that minimize friction and reduce.
API testing ·
Scoped chaos rules are now in proxymock: pick traffic with a filter query, perturb it, and label every injected failure so it is never mistaken for a real one.
API mocking ·
Run your Playwright tests with the frontend's API calls answered from recorded production traffic, and see which call broke on which step.
Kubernetes and observability ·
Skaffold is a command line tool that facilitates continuous development by streamlining the workflow for building, pushing, and deploying Kubernetes...
In this section, you’ll install Skaffold and create a simple project to get a taste of the inner development workflow with Skaffold.
API mocking ·
Generate WireMock mappings from recorded HTTP traffic. Review matching fields, sensitive values, eligible pairs, and custom changes before reuse.
Yes. The output is a standard WireMock mappings document. Add request-body matching, priorities, templating, or stateful behavior when the scenario requires it, and validate the edited result in WireMock. Keep generated output separate from reviewed custom changes or merge them deliberately:…
Omitting request-header matchers prevents a recorded Authorization header from constraining a stub; it does not sanitize the recording or response. Query values, response headers, and bodies can still contain sensitive or changing data. Inspect the generated document, redact before sharing, and add…
The exporter uses complete HTTP or HTTPS request/response pairs, with inbound traffic selected by default. Use the service, direction, and limit filters for the intended dependency. This is not a generic export of every recorded protocol. Inspect the mappings count and matching fields, particularly…
AI development ·
How we built an AI agent that implements Jira tickets, creates merge requests, and monitors them autonomously—and the iterative journey to get there.
Traffic capture and replay ·
Inspect encrypted microservice traffic with Speedscale’s eBPF collector. Check TLS support, node permissions, and Java-agent rollout requirements first.
In the Traffic Viewer, select the traffic that you want to save as a snapshot using the time picker and filters. Click Save to Tests/Mocks. Snapshots are reusable between replay runs. Each run generates its own report with its own latency graphs, assertion results, and captured traffic, but all…
Plaintext TCP capture and TLS plaintext visibility have different requirements. The documented TLS paths cover OpenSSL 3.x, supported Go and rustls builds, and supported JVM transports through a Java agent. Older OpenSSL, BoringSSL, and LibreSSL are not covered by that OpenSSL path. Verify the…
Use supported Linux nodes with BTF enabled and the host paths and capabilities listed in the security reference. The documented kernel baseline is 5.15 for x86_64 and 6.0 for arm64, with RHEL 9.2 or newer. The non-root capture container still needs elevated capabilities; review that contract with…
The JVM path loads a Java instrumentation agent through the startup configuration, so it requires new pods and a JVM restart. Supported native-library probes can attach without that Java rollout. Existing long-lived connections may still be incomplete, especially multiplexed HTTP/2 or gRPC…
Traffic capture and replay ·
Production traffic is the most complete record of what your system does, and most teams throw it away. One capture powers reproduce, validate, and sandbox.
Performance testing ·
The AWS DNS outage exposed the risk of cascading failures. Learn how to prevent a single DNS failure from taking down your system by mapping service.
AI development ·
Large Language Models (LLMs) are incredibly powerful, but they are also incredibly fragile.
Kubernetes and observability ·
Infrastructure and application chaos break different layers and find different bugs. Netflix built two systems for a reason. Most enterprises buy just one.
Engineering and company news ·
The rise of remote development environments, like GitHub Codespaces, has certainly captured the spotlight in recent years.
A local development environment is a setup where you host your project’s files directly on your computer rather than on a remote server. This setup allows developers to test, debug, and refine their code in a safe, isolated space before it goes live. By working locally, you gain full control over…
API testing ·
Test gRPC streams with clear boundaries for recorded mocks, real message buses, cancellation, flow control, and supported streaming versions.
Using Pub/Sub as part of your load test brings realism that mocks just can’t replicate. For example: Backpressure and bottlenecks - Pub/Sub enforces quotas and flow control. If your subscribers can’t keep up, Pub/Sub will happily slow things down. That’s the kind of production-like behavior you…
Keep a real test instance when the question concerns provider IAM, quotas, acknowledgment deadlines, redelivery, ordering configuration, or capacity. A simulator can exercise selected client reactions, while an emulator supports another useful local boundary with documented omissions. Choose from…
Use a controllable server or test service that can delay messages, terminate a connection, and observe cancellation. Assert bounded retries, resource cleanup, and recovery without unintended duplicate processing. Exercise slow consumers and sustained outstanding work. Inspect application queues as…
With a compatible native server-streaming release, a complete eligible call can preserve response sequence, observed pacing, and terminal status. That fixture does not implement a message broker’s acknowledgment, retention, or subscriber-coordination semantics. Inspect partial-call diagnostics and…
AI development ·
Learn how VPs of Engineering must adapt org charts, engineering roles, and performance metrics to lead in the era of the AI Software Factory.
API mocking ·
Go is an open-source programming language and developer environment from Google that allows for incredibly efficient and powerful applications.
AI development ·
Dark code is software no human has written, read, or reviewed. As AI tools accelerate, the gap between shipped code and understood code is widening fast.
Kubernetes and observability ·
Catch the ghost! Learn why reproducing production bugs is so hard, how unrealistic test environments fail you.
Performance testing ·
Measure throughput with defined transaction boundaries, sustainable load stages, latency and error goals, and enough load-generator capacity.
Throughput in performance testing refers to the rate at which a system or application processes requests or transactions within a specified time frame. It is a critical metric that helps evaluate the performance and scalability of a system, ensuring that it can handle a large volume of data and…
Define the counted unit before comparing rates. RPS counts individual HTTP requests; TPS may count a complete business operation spanning several requests. A checkout can include cart, payment, and order calls while counting as one transaction. Report the measurement window, operation boundary, and…
Hold the workload long enough to observe startup, scaling, caches, queues, and resource growth relevant to the application. Sustainable capacity meets the chosen latency, correctness, and error goals without an ever-growing backlog. Report the tested duration and environment. A brief peak rate does…
Compare planned load with requests actually sent and completed. Inspect generator CPU, memory, throttling, and network use alongside application metrics. Saturation or unstarted iterations can explain a missed target before the application reaches its limit. Increase generator capacity or…
AI development ·
Diagnose serial N+1 API calls with Tempo and proxymock. Replay recorded traffic, inspect trace windows, and prove a concurrency fix preserves behavior.
API mocking ·
Part 4 of Getting Started with Mocks: the notifier stops returning a message and starts sending one, so the test needs a spy instead of a return value.
AI development ·
Tired of Staging environments that don't match Prod? Learn how Speedscale's Digital Twin, built from real production traffic, solves dependency.
Performance testing ·
DLP applied to production traffic enables safe observability and realistic traffic replay, closing the gap between testing and production for faster.
API testing ·
Service level agreements (SLAs) are the contractual backbone between customers and technology vendors, outlining expected service availability...
Engineering and company news ·
When I first started writing Go software a little over a decade ago, one of the features I found particularly intriguing was the ability to build...
This article was primarily focused on cross-platform container builds, specifically to be run on Kubernetes linux nodes, so native darwin and windows builds were intentionally left out. The xx project does have some support for both of these target platforms, but with some pretty strict…
Kubernetes and observability ·
Follow an eBPF debugging trail through rustls, Tokio inlining, and an empty map to learn how TLS plaintext gets matched to the right TCP connection.
Kubernetes and observability ·
How our nettap eBPF agent produced garbage HTTP bodies from kernel iov_iter scatter-gather buffers, and the CO-RE plus task-local storage fix that made it correct.
nettap captures plaintext TCP payloads by attaching BPF fentry and fexit trampolines to tcp_recvmsg and tcp_sendmsg, then reading the application’s buffer directly out of the struct msghdr the kernel was given. For tcp_recvmsg all of the heavy lifting was in the fexit probe since you get both the…
Engineering and company news ·
Speedscale leveraged Ephemeral / Preview Environments to help balance developer productivity and high-quality code by dynamically spinning mini-staging...
Ephemeral or Preview Environments help balance the need for developer productivity while maintaining high-quality code. The idea of dynamically spinning “mini-staging” environments up and down on command has enormous promise for increasing experimentation and deployment safety. In theory, it lets…
Traffic capture and replay ·
There are few things that can derail developer productivity and undermine your pipeline like a flaky test. Testing is the backbone of a good development...
AI development ·
_Expanded explanations, guardrails, and practical check-lists included._ Vibe coding is a new approach to building software that emphasizes rapid...
API mocking ·
When it comes to different concepts around data within software development, the concept of ephemeral data is gaining traction.
Ephemeral data, by its nature, is temporary. This data typically has a pretty specific lifespan in terms of duration of time or purpose. In other words, ephemeral data typically exists only as long as it’s useful. After that, the data is processed through an automatic deletion mechanism that…
Ephemeral data is a critical piece of network infrastructure, especially in the modern connected device landscape where privacy, security, and high-efficiency are becoming more and more important by the day. Let’s dig into some of the reasons ephemeral data is so important.
API testing ·
Choose tests for ephemeral environments, keep real integration gates, isolate branch data, and retain evidence before teardown.
Ephemeral environment testing deploys a candidate into a temporary environment for a defined test or review. Version the deployment, data setup, and dependency routing so the initial state can be reproduced. Preserve evidence before teardown and verify removal of owned resources; a short lifetime…
Ephemeral environment testing usually has three stages: provision a defined deployment and data state, run the checks, then retain evidence and remove owned resources. Readiness, isolation, and teardown require explicit configuration. Create an environment that resembles the production or final…
Start with a reproducible deployment definition and one useful test. Automate data setup, readiness, diagnostics, and cleanup before expanding the environment or test set. Without diving into too many specifics, here’s a general overview of the workflow:
Use it for checks that benefit from deploying the candidate with its runtime configuration: API regression, selected integration paths, migrations, or a focused user journey. Keep fast isolated tests earlier in the pipeline when deployment adds no value. Validate readiness and data setup first.…
Keep checks that require independently deployed services, representative shared infrastructure, provider test accounts, or interactions deliberately excluded from branch environments. For example, a mocked payment response cannot establish provider authorization or settlement behavior. Maintain a…
Assign each run a unique data scope and credentials, then separate or constrain databases, queue subscriptions, cache keys, and storage paths accordingly. Apply network and access policies as well as namespaces. Test for accidental shared writes and unmatched mock pass-through. Recreate the…
Engineering and company news ·
In almost all industries, a standard set of KPIs helps to guide teams on whether they are doing the right things in the right ways, with the right.
KPIs - or Key Performance Indicators - are quantifiable metrics that help track a software development team’s progress toward a predefined goal. In essence, the KPI gives a metric by which progress can be tracked, giving a signal both when you are pacing toward success and failure. KPIs act as a…
AI development ·
Diagnose a p95 latency regression that CPU profiling cannot explain using Prometheus histograms, then prove the fix with identical proxymock replays.
AI development ·
Record real LLM traffic from a FastAPI app, mock it locally, and replay it in CI with proxymock.
The normal mock workflow can forward an unmatched request to its real destination. For HTTP tests that must stay isolated, use --no-passthrough and verify that the request fails instead of reaching the provider. Also control direct connections that bypass the proxy. Cover new prompts, models, and…
Use --mock-timing recorded to apply the saved response duration, or a multiplier such as --mock-timing 5x to exercise slower responses. The default is immediate replies. These settings model the fixture’s timing; they do not predict a provider’s current queueing, token generation, or future…
Review recordings for authorization headers, prompts, tool arguments, and generated text before committing or sharing them. Redact sensitive fixture values and use secret references for credentials needed at runtime. Removing a provider key from CI does not remove sensitive content already captured…
AI development ·
The industry is rapidly moving towards deeper AI integration than ever before. What was once simply focused on chatbots or recommendation engines has.
Multi-agent workflows are becoming the backbone of enterprise AI automation, where multiple AI agents collaborate across APIs and services to deliver outcomes that previously required significant engineering investment. These systems provide this functionality while offering a human-friendly…
Kubernetes and observability ·
Logs, metrics, and traces are a lossy compression of production. Five things you can do with a traffic data lake that observability can't.
Kubernetes and observability ·
Teams run inventory, security logs, request routing and billing through OpenTelemetry. Five non-observability uses, and the failure mode of each.
Yes, and it routinely is. The Collector is widely deployed as a general-purpose data pipeline, entity events model infrastructure inventory, baggage carries routing and experiment assignment, and some teams feed usage metrics into billing. The project has also expanded its own scope with profiles,…
Not on its own. OTLP provides at-least-once delivery and the specification calls duplicate data a deliberate, correct tradeoff for telemetry. Collectors drop under backpressure by design. Anything needing completeness or exactly-once semantics requires deduplication and a durable queue you add…
The W3C Baggage specification requires propagation when the result is 64 list members or fewer and 8192 bytes or less. Past those limits entries may be discarded, and a platform that cannot propagate everything must not propagate partial members. The spec gives no guidance on which keys to drop…
Usually not. The default limit is 128 attributes per span, backends price on cardinality, and payloads carry PII across a trust boundary. If the goal is reproducing what happened, capture the traffic itself.
Traffic capture and replay ·
Replay an authenticated flow and the protected calls fail with 403. Here is how proxymock recommendations fix the expired bearer token in one click.
A recorded bearer token may be expired or invalid for the replay environment. Replaying the login call can obtain a new token, but later requests must actually use it. Correlate the current login response into the protected requests. A 403 alone does not diagnose expiration; the status can also…
Compare the token issued during the replay with the value sent on the failing request. If replay still sends the recorded value, fix correlation. If it sends the current value, inspect the service’s validation and authorization decisions, including audience, issuer, roles, and scopes. Avoid masking…
Use the blueprint preview to inspect changes, then require the saved blueprint during replay with --require-blueprint followed by its exact name. The command fails if it is missing or none of its chains run. That proves some activity, not that every rule ran or authorization is correct; inspect the…
AI development ·
Use Grafana Pyroscope and proxymock with an AI coding agent to find a Go CPU hotspot, preserve API behavior, and verify the performance fix.
Traffic capture and replay ·
Learn a practical workflow to convert Datadog metrics, traces, and incidents into CI tests that catch regressions before deploy.
Threshold debates can derail adoption. Keep it mechanical. Start with the last 14 to 30 days of stable production behavior, then define an explicit tolerance band. For example, if p99 sits around 142ms, you can gate at 160ms to absorb normal variance while still catching real regressions. Do the…
AI development ·
In today’s interconnected software landscape, applications rarely live in isolation.
Traffic capture and replay ·
In modern software development, the pressure to move fast is matched only by the need to get it right.
API mocking ·
Part 10 of Getting Started with Mocks: use proxymock to record real API traffic, inject failures, verify side effects, and expose contract drift.
No. The package notifier’s function stub is still the fastest way to ask, “Given delayed, should I send a message?” An in-memory fake is still the clearest way to ask whether a second call sees the first write. proxymock answers questions those doubles cannot: what did the application put on the…
It catches your response to a contract change. That is valuable because you can make a missing field, changed type, or renamed property happen locally and repeatably. It does not prove the vendor made that change. Use the edited copy on every commit to keep the failure behavior covered. Use fresh…
API testing ·
Linting - the process of analysing potential issues within your API specification - is a great step towards ensuring that you have strong syntax...
Traffic capture and replay ·
Compare eBPF, sidecars, telemetry agents, OpenTelemetry, APM, and proxies through an evolving ladder of production visibility.
AI development ·
Traffic Context is the missing piece in most debugging workflows. We ran our autonomous agent on a real production bug — it found the root cause, wrote a reproduce harness, applied the fix, and confirmed it. Here's what that looked like.
Performance testing ·
Compare Gatling and Speedscale for Kubernetes load tests. Evaluate scripts, recordings, dependency isolation, and CI results alongside existing tests.
Author a scenario when you need new behavior, explicit edge cases, or a carefully controlled journey not present in traffic. Use captured requests to preserve representative existing integrations and reduce fixture authoring. Gatling supports scripted and recording-based authoring; Speedscale uses…
Yes. Keep valuable simulations in their Gatling runner and add recorded-traffic checks alongside them. Gatling documents CI/CD integration and build-tool execution. Treat the new checks as additional coverage until you have demonstrated equivalent requests, correlation, and assertions. A change of…
Record supported representative exchanges, route the application’s outbound calls to a mock, and verify that the required requests match. Set realistic timing and error cases for the question under test. Use test credentials and controls on unmatched or bypass traffic. Keep a separate real-provider…
AI development ·
As Large Language Models (LLMs) become increasingly integrated into enterprise applications, organizations face new challenges around compliance.
API testing ·
gRPC (gRPC Remote Procedure Calls) is a modern, open-source, high-performance RPC framework that can run in any environment.
Kubernetes and observability ·
With the explosive growth of Kubernetes over recent years, software engineering teams are facing new challenges: increasing complexity...
In this section, you’ll install Skaffold and create a simple project to get a taste of the inner development workflow with Skaffold.
Engineering and company news ·
All but the simplest applications borrow code. You could write everything yourself from just core language features but who has time for that?
Dependency wrapping is a nifty technique in Go programming that involves wrapping a dependency, such as a function or a struct, with another function or struct that provides additional functionality or behavior. Think of it as putting a gift in a box and then wrapping it with beautiful paper. The…
Performance testing ·
Compare GoReplay and Speedscale capture, TLS requirements, dependency mocks, and local or Kubernetes replay. Verify the exact workflow before choosing.
GoReplay’s raw packet-capture path needs HTTP after TLS termination to see plaintext requests. Speedscale’s supported TLS capture uses runtime-specific probes or a Java agent; it is not universal decryption of arbitrary encrypted sockets. For local proxymock, configure proxy routing and client…
Capturing inbound requests for replay does not by itself capture or replace the service’s outbound dependencies. Speedscale can use supported recorded outbound exchanges as dependency mocks. In a GoReplay-centered workflow, plan the downstream test services or separate mocks explicitly. In either…
For local work, compare GoReplay’s capture permissions and network visibility with proxymock’s explicit proxy setup. For Kubernetes, check collection placement, node permissions, runtime support, and the replay target’s networking. Speedscale’s operator and collector manage cluster capture, while…
Engineering and company news ·
APIs have never had more connections and requests for data. With variable data types, changing programming languages, and a demand for high performance...
This is a very hard question to answer - that being said; we can give you an answer based on our specific use case here at Speedscale.
GraphQL is a client-driven query language over HTTP and JSON, letting clients ask for exactly the data they need from a single endpoint. gRPC is an RPC framework over HTTP/2 and binary Protocol Buffers, focused on exposing service methods with strong typing and bidirectional streaming. GraphQL…
Schema drift. Our backend microservices used protobuf while the front end used a separate GraphQL schema, so every protobuf change had to be duplicated with custom translation logic like converting a map to an array. That was manual, error-prone, and slowed the team down, so we moved the…
In our migration the web client needed roughly 50 to 90% less processing, and network data volume dropped about 70% on average, with even larger gains when messages had a high metadata-to-payload ratio. Schema drift also started surfacing at compile time instead of at runtime.
HTTP/2 maturity was the main tax: nginx required all traffic to be HTTP/2 for grpc_pass to a TLS endpoint, AWS ALB support was thin, we had to maintain certificates for every egress component, and our synthetic monitoring didn’t support HTTP/2. gRPC debugging also needs a new skillset since you…
Engineering and company news ·
In this tutorial, you will learn how to work with the gRPC Golang library for microservice communication by creating a simple note-taking application.
gRPC code utilizes the HTTP/2 protocol, which offers multiple ways to improve performance: Header compression and reuse to reduce the message size Multiplexing to send multiple requests and receive multiple responses simultaneously over a single TCP connection Persistent TCP connections for…
API mocking ·
Turn a .proto file into gRPC mocks and tests with proxymock, record real responses, and catch field type changes that protobuf decoding silently accepts.
Yes. A supported proxymock build can generate inbound tests and outbound mocks from a .proto for unary RPCs. Their values and responses are synthesized examples, so replace request placeholders and record a real implementation before treating the results as a regression baseline. A generated…
Pass each import root with -I or --proto-path. An import such as common/money.proto must be resolvable relative to one of those roots; the main proto file’s own directory is also searched. Repeat the flag for multiple roots. Well-known google/protobuf types are built in. Check your installed…
This proto-generation workflow targets unary RPCs; generate lists streaming methods as skipped. Do not use a captured stream as a baseline without verifying the client lifecycle and replay behavior separately. Preserving message bytes is different from reproducing bidirectional streaming,…
Performance testing ·
Start holiday readiness with a local proxymock load test. Use agent skills to record a Node app, mock its API dependency, and inspect the results.
AI development ·
A marketing intern's journey from CMS drag-and-drop to running Claude in a terminal, and why validation still matters as AI speeds up development.
AI development ·
AI codingagents are accelerating the breakdown of synthetic data generation approaches.
Performance testing ·
Combine load testing and mocks to isolate service performance. Learn when dependencies should stay real and how to avoid misleading capacity results.
When the mock removes the bottleneck or failure behavior you intended to measure. Immediate fixture responses can hide dependency latency, rate limits, contention, and retries. State which components are real, configure representative mock timing and failures, and measure the mock’s own capacity. A…
Keep a disposable real database when the question concerns query execution, indexes, locking, transactions, or database capacity. Use recorded database responses when you want to isolate application behavior from that engine. A mock returning a successful write does not establish persistence or…
Route its outbound calls to recorded mocks, verify matching responses, and prevent unmatched traffic from reaching the provider. For HTTP through proxymock, use --no-passthrough; also block direct routes that bypass the proxy. Set realistic dependency timing and deliberate error cases, then load…
API mocking ·
API testing is critical to modern software development, ensuring that applications communicate seamlessly and function as expected.
Kubernetes and observability ·
With ARM based dev machines and servers becoming more common, it is become increasingly important to build Docker images that support multiple.
Performance testing ·
Calculate TPS from completed transactions and a measured time window. Distinguish requests, business outcomes, retries, latency, and errors.
No. Choose a transaction boundary that represents the business result being measured, then instrument its completion. One order may require several HTTP calls, retries, and database operations. Count those separately from completed orders. Dividing completed transactions by the observed seconds…
Publish attempted and successful transaction rates separately, with a defined rule for failure and partial completion. Count retries as additional attempts while avoiding duplicate business successes. A payment timeout followed by a successful retry can represent two requests and one completed…
Read all three over the same window and workload mix. A higher completion rate accompanied by more errors or unacceptable tail latency can violate the service goal. Also compare offered load, queued work, and resource saturation. Report endpoint or business-operation breakdowns so fast low-value…
Traffic capture and replay ·
Compare Kubernetes traffic capture tools, TLS visibility, setup permissions, and replay options. Choose packet inspection or decoded application traffic.
A packet capture alone usually contains TLS ciphertext. Wireshark can decrypt supported sessions when supplied with suitable secrets. An intercepting proxy needs client routing and certificate trust. Speedscale’s passive capture instead depends on supported TLS library probes or its Java agent.…
It depends on the capture method. Speedscale’s eBPF DaemonSet avoids a per-application capture sidecar but needs host visibility and specific Linux capabilities. A local proxy needs the application to route calls through it. Check the deployment permissions and workload compatibility before…
Speedscale saves supported decoded exchanges as request/response pairs that replay and mock workflows can use. PCAP files are useful packet evidence, but a packet dump alone does not define application assertions, refreshed authentication, or dependency responses. Verify protocol decoding, both…
API testing ·
Slowly but surely, HTTP/2 has become the preferred protocol for transferring data files between clients and servers. In contrast, HTTP/1...
You might assume HTTP/2 introduces entirely new browser-server interaction features, yet it essentially represents incremental enhancements to the traditional HTTP/1 methods. Let’s go over a few things to consider when testing HTTP/2 APIs.
Traffic capture and replay ·
This how-to video shows how to use Speedscale's full-text traffic search to instantly find where a specific piece of data appears as it flows through your.
API mocking ·
Use GoMock with small Go interfaces, pinned mock generation, and runnable tests. Learn when an HTTP test server or real dependency check is needed.
The maintained GoMock project is developed in Uber’s fork of the original golang/mock repository. It integrates with Go’s testing package and explicit code-generation workflows. Choose it when a test needs to verify interactions through a Go interface. As you’ll see in the next section, GoMock…
Mock a small interface at a dependency boundary the caller actually uses, such as a repository or payment adapter. Prefer the operations needed by that caller over copying a provider’s entire SDK. Use a simple fake when it expresses the scenario more clearly. Preserve separate tests for the real…
Regenerate when the interface, relevant imported types, generator version, or generation options change. Pin the generator version and review the resulting diff alongside the interface change. Keep generation explicit in the development or CI workflow: go test does not run go generate…
Use httptest.NewServer when you need the real HTTP client to build a request and parse a controlled response, including paths, headers, encoding, and status handling. An interface mock skips that transport boundary. The local server still substitutes for the provider, so keep real-provider checks…
API mocking ·
Mock APIs in Kubernetes are used to simulate actual API requests during API testing. This is useful for detecting issues early in development...
As mentioned in the introduction, a mock is a kind of simulation where you can make requests to the Kubernetes API server with the goal of getting realistic responses. These responses can be used to analyze traffic, detect failures, improve performance, and more. There are two different kinds of…
API mocking ·
Mock gRPC from recorded exchanges. Understand proto requirements, streaming version limits, matching rules, authentication, and capture compatibility.
Production traffic replication imitates real user interactions by capturing user data in a live environment and then replaying it in a testing environment. For example, if you have an online bookstore, conventional test scenarios might cover common use cases like searching for a book, adding it to…
Recording existing gRPC exchanges does not require a proto file: proxymock can expose protobuf fields by number and wire type. The schema is needed to recover declared names and types, generate new cases from the service definition, or validate against that contract. Schema-free decoding does not…
Check the installed release and recording format. Native server-streaming support covers bounded, complete calls with one request and a client half-close. Partial calls have execution limits; client-streaming, bidirectional execution, and grpc-web streaming remain separate boundaries. Unary support…
Inspect the actual method, host, message fields, and configured signature rules. A generated identifier in the request can produce a mock miss; record the case or configure a narrowly scoped transform for that field. Supply valid test credentials where real authentication remains in scope. A…
API mocking ·
MockServer is a powerful tool for mocking HTTP APIs, making running integration tests more manageable and efficient in the initial development phases.
As the name suggests, MockServer is a powerful tool that allows developers to mock HTTP APIs, making it much easier and more efficient to run an integration test in initial development phases. It aims to solve the problem of testing APIs that are still in development or not yet available, allowing…
Aiming to provide value to as many as possible, this tutorial will use one of the language-agnostic options: docker-compose. MockServer will be used to establish a mock HTTP API for a hypothetical online game platform. This platform offers a RESTful API that game developers use to fetch player…
Performance testing ·
Test Kubernetes autoscaling with controlled load. Verify HPA metrics, readiness, scaling policies, and scale-down alongside latency and errors.
In any Kubernetes setup, you will have at least one cluster with at least one node. On these nodes, which are essentially just virtual machines, applications will be run inside pods. When you’re working with autoscaling, you’re typically referring to either vertical or horizontal scaling. This…
Inspect the HPA’s target metrics, current readings, desired replica count, conditions, and events alongside pod readiness and resource requests. CPU utilization targets are relative to requests, not CPU limits. Correlate the scaling decision with the applied workload and check for other metrics or…
Measure image pull, scheduling, startup, dependency initialization, and readiness for your application. Configure probes to distinguish starting from ready, then make load stages long enough to observe the scaling response. HPA has startup-metric handling and scaling policies that affect timing.…
Reduce or stop the generated load, then observe metrics, desired and ready replicas, and request behavior during termination. Account for configured stabilization windows, scaling-rate policies, and minimum replicas. Verify connections drain as intended and that latency or errors remain acceptable.…
AI development ·
Test LLM backend latency, throughput, and rate limits without burning API credits. Mock OpenAI and Claude APIs for realistic load testing.
Record a small sample of real LLM API calls, then use a service mock to replay the responses. This lets you simulate thousands of concurrent users hitting your application while the mock returns realistic responses at a fraction of the cost.
Focus on latency (time-to-first-token and total response time), throughput (requests per second your app can sustain), error rate (timeouts and rate limit hits), and cost per request. Compare these against your provider’s rate limits to find your ceiling.
Yes. Tools like Proxymock and Speedscale record production LLM traffic and replay it as a mock. Your CI pipeline runs against the mock, getting realistic responses with deterministic behavior — no API key needed, no variable costs, no flaky tests from provider outages.
API testing ·
Learn how to test your React frontend without running backend services. Record real API traffic and mock responses for faster development, reliable.
Point the frontend’s API base URL or development-server proxy at the mock listener. In this demo, the app reads VITE_API_PORT=18080; a different React project must implement its own configuration. Setting a proxy variable in an unrelated terminal does not configure browser fetch calls. Inspect the…
The browser still enforces origin and cookie rules when the backend is mocked. Match the required CORS origin, credential handling, and cookie domain, path, SameSite, and Secure settings for the local setup. A captured production cookie may not work on localhost. A development proxy can avoid some…
The mock can return a recorded write response and later recorded reads, but that does not make it a general stateful backend. Different values or a new interaction order may miss or return a fixture that does not reflect the write. Record the intended journey and reset test state, or keep a real…
Kubernetes and observability ·
Optimizing eCommerce sites is a huge endeavor. With these 5 steps, you’ll be able to rapidly identify and resolve your scalability issues: Prioritize.
Kubernetes and observability ·
How we moved GitLab CI to GKE with shared BuildKit caching, multiple Spot machine types, and an on-demand fallback for scarce capacity.
Most of our services are pure Go, so building and packaging them for multiple platforms is a non-issue. It’s an extremely simple setup: let Go do the cross-compilation, then use a COPY-only Dockerfile to package it. However, a few projects aren’t that simple and require CGO to link against C…
Traffic capture and replay ·
I pointed a classifier at 7,943 API calls to find business workflows. It worked, then showed where my assumptions about sessions and patterns fell apart.
API testing ·
Hi everyone, I'm Alan, Head of Customer Success here at Speedscale. If you'd told me a few years ago that I'd be working for a company knee-deep in the.
AI development ·
Testing AI applications with invented traffic looks fine until real users arrive. Then come the retries, the fallback models, and the token bill.
Traffic capture and replay ·
See how Kraken combines traffic replay, stable dependency mocks, and evolving regression coverage to catch Speedscale release failures before production.
AI development ·
Learn how to use Claude Code sub-agents to get a 'second opinion' from other LLMs and build more reliable AI applications.
Think of a sub-agent as a tiny, self-contained AI. They live as .md files in a .claude/agents directory in your project’s root. For more details on how to implement them, check out the official documentation. Each one has its own: Clean Context Window: This is the most important part. When you call…
Performance testing ·
Every slowdown in your application can be traced to specific components like a database or an API.
Speedscale provides a reliable way to test and deliver applications by simulating high traffic volumes that can then be used for your different testing scenarios. Speedscale helps you pinpoint performance bottlenecks by first capturing actual traffic from your users in a late-stage environment,…
API mocking ·
Check out Ken Ahrens and Scott Moore as they discuss some blockers of developer productivity when building in Kubernetes.
Performance testing ·
Capture API traffic with Speedscale, export a k6 load scenario, and mock backend dependencies in Kubernetes with speedctl or locally with proxymock.
It turns eligible recorded inbound HTTP requests into a script with their request data. Speedscale transforms are not exported. Review target URLs, credentials, dynamic values, and request ordering, then add your own load schedule and assertions. In k6, checks need thresholds if a failed check…
Mock a dependency to measure the application with controlled responses. Leave an isolated test instance real when its own behavior, state, or capacity is part of the question. Keep captured outbound exchanges for the mocks even though only inbound requests drive k6. Confirm mock hits and…
Yes, but the setup differs. This tutorial captures and exports a snapshot through Speedscale, then uses either cluster responders or a local proxymock listener for dependency responses. The local replay path does not remove those earlier cluster steps. Port-forwarded cluster results validate the…
Kubernetes and observability ·
A marketing intern's high-energy recap of KubeCon 2025: discover major trends in Cloud Native AI, Platform Engineering, Security.
Kubernetes and observability ·
Learn how digital twins and traffic replay, highlighted at kubecon, offer platform engineering teams a 'superpower' to test against real-world scenarios.
API mocking ·
Kubernetes has transformed how developers build, test, and deploy applications, providing a consistent platform for managing containerized workloads.
Speedscale allows developers to replicate real-world traffic in a controlled local environment, enabling thorough testing of new features, bug fixes, and performance improvements. By replaying actual user traffic, Speedscale helps identify potential issues early, providing insights into how…
Performance testing ·
Run a Kubernetes load-test tutorial with recorded traffic. Check cluster prerequisites, dependency coverage, and data reset before repeating a replay.
Performance testing in a Kubernetes environment is essential for ensuring applications can handle high network traffic, scale effectively, and maintain high performance under stress. Conducting distributed load tests allows teams to simulate real-world scenarios, such as thousands of virtual users…
Yes, for learning and checking the capture-to-replay workflow. Select a supported Minikube driver and give the cluster adequate resources. If using Speedscale eBPF capture, verify the Linux guest’s kernel, BTF, host access, and runtime support; the laptop’s operating system does not establish those…
The application under test must run, along with any dependency deliberately left real. Recorded mocks can replace supported dependencies whose exchanges were captured. Infrastructure needed for launching and reporting the replay must also be reachable. Review startup queries, authentication, and…
Restore disposable live databases, queues, and caches to the same intended starting state, and reset any scenario state in mocks. Use fresh test credentials or configured correlation for generated identifiers. Keep the recording and workload fixed while comparing builds. Cleaning up replay pods…
Performance testing ·
Plan Kubernetes load tests with clear workload models, isolated dependencies, and measured generator capacity. Compare tools and read results in context.
Based on the evaluation points of this post, ease of use, CI/CD integration, and documentation quality, Speedscale and k6 emerge as strong choices for Kubernetes load testing. Each tool has its pros and cons. Speedscale prefers an Operator approach to setup which allows for much deeper Kubernetes…
Start in an isolated test environment with known data and dependency routing. It lets you find failures without involving customer transactions. Production tests answer different operational questions and need an agreed scope, observable limits, and a way to stop the workload. Results from a…
Virtual users represent concurrent workers executing scenarios. Request rate describes requests offered or sent per unit of time; observed throughput describes what actually completes. One iteration can contain several requests. In a closed model, slower responses reduce the next iteration’s start…
Monitor its CPU, throttling, memory, and network alongside planned and actual workload delivery. Give the generator and any mock responder enough headroom, and separate their resource competition from the application where possible. Scale out only after checking test semantics and aggregate load.…
Performance testing ·
Compare Speedscale and k6 for Kubernetes load testing. Reuse captured requests, isolate dependencies, and evaluate CI gates with the same workload.
Speedscale requires more setup in order to make a test, where k6 can be created without any prior setup. Which tool has the advantage depends heavily on what your use case is. k6 can test your services quickly, but you will inevitably also have to be testing the dependencies of your service, unless…
Yes. Speedscale exports eligible inbound HTTP requests as a k6 script. Review the exported request data and target, then add the workload schedule, dynamic-value handling, and assertions you need. Speedscale transforms are not included in that export. Use k6 thresholds when a metric or failed check…
Speedscale’s replay workflow can supply recorded responses for supported outbound dependencies. k6 drives requests at the application; pairing it with a separate mock responder lets you isolate those downstream calls. Keep the two roles explicit. Confirm mock matches and configure unmatched…
Use the same application build, request mix, data, dependency configuration, and workload model. Check delivered load, error and assertion results, latency percentiles, and generator resource use. Include setup and fixture maintenance in the comparison. An immediate mock versus a real backend, or a…
Performance testing ·
See how to get visibility into your Kubernetes workloads and run realistic load tests without writing YAML files or kubectl commands.
Kubernetes and observability ·
It’s impossible to learn about containerization without hearing about Docker and Kubernetes. These two tools together dominate the world of containers...
As mentioned in the introduction, these two tools aren’t meant to be substitutions of each other, as they don’t have the same functionality. Because of this, it’s difficult to compare the two tools as it’s like comparing apples and oranges. They look the same, many will even put them in the same…
As you can see, these two tools serve very different use cases. Rather than trying to figure out which tool to use, it’s more important to figure out when one of these two tools should be used. You’ll often find that you should be implementing both, especially as your company scales. Docker will be…
With all this talk about how Docker and Kubernetes work together, you’d imagine that Kubernetes uses Docker under the hood. The truth is that it doesn’t. With Kubernetes, you can choose what runtime you want to use, and at a point, it was indeed possible to use Docker as the container runtime.…
AI development ·
Connect an MCP server to your LLM coding assistant so it can pull real production data on demand, validate its assumptions.
AI development ·
Large Language Models, or LLMs, have become a near-ubiquitous technology in recent years.
Firstly, let’s define what LLM testing even is. LLM testing is the process of taking a Large Language Model and evaluating it through a series of LLM testing tools. The results of these test scenarios - the LLM outputs - are then rigorously reviewed for everything from quality to speed in…
Performance testing ·
Load test one endpoint while keeping another steady. See how separate schedules and latency goals reveal slowdowns an overall average can hide.
Yes, with compatible load-plan components. Put the selected requests in separate groups, configure each schedule, and scope the latency goal and measurement window to the endpoint you care about. Require a minimum sample count and inspect delivery as well as latency. A configured target is not…
A request-group arrival starts one selected request. A session-group arrival starts a complete recorded journey, which can include login and several endpoints. Session population, concurrent journeys, and starts per second are distinct settings. More workers do not create valid users or accounts;…
Compare scheduled and actual starts, missed starts, completed requests, and latency while monitoring generator CPU, throttling, networking, and mock capacity. Check application and database metrics too. Repeat with more harness headroom while keeping the workload fixed. Generator saturation can…
Performance testing ·
Record the queries your app sends to PostgreSQL in Kubernetes, then replay them against a QA database as a load and regression test. No scripts to write.
Traffic capture and replay ·
Capture production traffic and store it in your own Elasticsearch with Speedscale BYOC. Pull it locally with es-gather.py and reproduce bugs with proxymock.
AI development ·
When I started at Speedscale, I looked like this: And after one year of learning, growing, keeping pace with innovation well, let’s just say the journey...
API mocking ·
Part 3 of Getting Started with Mocks: the same seam, now returning refusals, timeouts and nonsense, so the failure paths finally get tested.
Engineering and company news ·
Developer productivity is ultimately a measure of the efficiency and effectiveness with which software developers produce high-quality code and complete...
API mocking ·
Although GoMock is one of the most popular ways to create mocks in Golang, it’s important to understand the broader landscape of mocking methods in the...
Mocks are essential in software development, particularly for testing code in isolation without the unpredictability of real external dependencies. By replacing real components with mocks, developers can focus on testing the logic of their code, leading to more efficient, reliable, and maintainable…
Traffic capture and replay ·
Kubernetes has become the backbone of many modern application deployment pipelines, and for good reason as a container orchestration platform...
The problem with testing in Kubernetes is that there’s some fundamental misalignment between the Kubernetes approach and the approach to testing common in CI/CD pipelines. Kubernetes is a dynamic system - pods are created and destroyed constantly, services scale up and down, and configurations…
An alternative approach to replicating in synthetic data is to utilize the actual data from your service. A good process for this is Traffic Replay. Traffic replay is the process of capturing traffic, the actual requests and responses from your API server and the constituent parts in the network,…
Performance testing ·
A pragmatic comparison of mitmproxy and proxymock for traffic replay. Learn which tool to use for investigative debugging vs developer productivity, how.
Client replay sends saved requests to a running server. Dependency mocking answers the application’s outbound calls with stored responses. mitmproxy supports both client-side and server-side replay; proxymock likewise separates replay from mock. Choose based on which component you want to execute…
An intercepting proxy needs the client to route traffic through it and trust its certificate authority. Configure the relevant client trust store, not just the operating system or a browser used by a different process. Certificate pinning and client certificates need additional evaluation. Use the…
Use client replay when the running service is the target, and recorded responses when dependencies should be isolated. mitmproxy’s documented client replay is sequential, so it does not automatically preserve recorded concurrency. For either tool, specify assertions, dependency routing, and failure…
API mocking ·
Mock APIs are vital tools in modern software development. They allow developers to simulate APIs and continue testing and development without backend...
Performance testing ·
Record real PostgreSQL traffic with proxymock and replay it deterministically. No more local database setup, no more seeded test data.
No. It returns responses associated with recorded exchanges; it does not run the PostgreSQL storage engine. A recorded INSERT followed by a SELECT can supply examples for that path, but it does not establish arbitrary read-after-write behavior, constraints, transaction isolation, or query planning.…
A query absent from the recording may not match a useful fixture. Inspect the request, bound values, session setup, and mock diagnostics rather than assuming any SQL will work. Record the new path or configure a deliberate response, then rerun the scenario. A returned fixture is not evidence that…
Run migrations, constraints, transactions, locking, and database performance checks against PostgreSQL itself. Recorded-query replay can send the captured statements to a disposable candidate database to expose errors after a schema or version change. Mocked application tests answer a different…
API mocking ·
Part 7 of Getting Started with Mocks: a fake HTTP server finally runs the real client, so paths, headers, and parsing get tested. Java, Node, Go, Python.
API mocking ·
A stub supplies responses; a mock verifies interactions. Compare both with runnable Python examples and learn when API traffic mocks help.
Use a stub to put the application into a specific condition. A declined card, an empty search result, or a dependency timeout can be difficult to reproduce on demand against a live service. A stub makes the condition repeatable. For the checkout example, set the gateway response to {"status":…
Use a mock when the application must perform a particular interaction. A payment should use the correct amount. An email should go to the intended recipient. A failed operation might need to avoid writing a success record. Assert the arguments or behavior that express that requirement. Avoid…
A stub supplies a controlled response. A mock verifies an expected interaction with a dependency. One test-double library can support both uses.
Yes. A mock object can return configured responses and record calls. The assertions determine whether the test checks application output, interactions, or both.
Choose based on the requirement. Use response stubbing to test outcomes under controlled conditions and interaction verification when a dependency call is part of the contract.
A unit-test mock replaces an object inside a process. An API mock server supplies responses across a network boundary and may also verify received requests.
Engineering and company news ·
A development environment is a crucial setup of tools, configurations, and processes that developers use to build, test, and deploy software.
Performance testing ·
In software testing or platform engineering, having realistic data is crucial. For years, teams have relied on Test Data Management (TDM) to copy entire...
Kubernetes and observability ·
Speedscale transitions from Kubernetes sidecar-based observability collection to eBPF for lower latency, reduced resource consumption.
API mocking ·
Record real MySQL traffic with proxymock and replay it in tests. Eliminate local database setup and flaky CI runs.
MySQL is one of the world’s most popular open-source relational database management systems (RDBMS). It powers countless applications, from small web apps to enterprise-grade systems. But when it comes to local development and CI/CD testing, running a full MySQL instance can be unnecessary or…
Point the MySQL client at the listener created by --map, such as 13306 for a backend at localhost:3306. An HTTP proxy environment variable alone does not reroute a normal MySQL connection. Driver and TLS configuration must be compatible with the capture path; inspect a decoded query and response…
A mock can check application behavior against its saved responses, but it does not execute queries on the new MySQL version. For upgrade validation, replay the recorded statements against a disposable real candidate database and examine errors and result differences. Keep separate checks for…
The mock can return captured acknowledgements, rows, and errors for matching exchanges. It does not implement an arbitrary MySQL database behind them. A successful mocked COMMIT does not prove durability, constraints, isolation, or the effect of a later query with different data. Use the real…
AI development ·
We shifted testing, security, and CI/CD left. Observability stayed in production. With AI writing code faster, validation is the bottleneck.
AI development ·
Discover endpoints, RED metrics, and traces in an opaque Kubernetes service with OpenTelemetry eBPF Instrumentation, then replay traffic with proxymock.
Kubernetes and observability ·
Use OpenTelemetry traces to choose high-risk flows, pair them with captured traffic, and gate CI on reviewed replay results and explicit failure criteria.
Do not start with a giant “replay everything” initiative. Start narrow. Pick one workflow with all three traits: High user impact (auth, checkout, provisioning) Frequent change velocity Existing incident history Then ship one deterministic replay gate for that path. Once the team trusts it, expand…
Usually not. An OpenTelemetry trace describes operations, timing, attributes, and context, but does not guarantee complete request bodies or reusable dependency responses. Use it to identify a route or incident window, then obtain matching traffic fixtures separately. Assertions on newly emitted…
Sampling decides which traces are retained, so a sampled collection can omit rare failures and portions of the workload. Tail sampling can prioritize known error or latency patterns, but cannot recreate information already absent. Review the sampling policy and add explicit fixtures for critical…
Define the policy before running: unexpected response changes, protected contract failures, explicit error or latency thresholds, and missing required evidence. Keep the original recording and inspect the verdict, process exit code, and configuration. For proxymock, choose a documented gate…
API mocking ·
Ephemeral environments transform software development by providing temporary, isolated spaces for testing and deploying microservices without affecting...
Traffic capture and replay ·
Validate Oracle JDK to OpenJDK migrations with traffic replay. Compare API behavior, check TLS connections, and measure repeatable performance results.
Test the exact vendor, JDK version, patch level, and container image you plan to deploy. Check TLS trust and providers, serialization, locale and charset behavior, startup flags, dependencies, and resource use. Separate a vendor switch from a major-version upgrade where possible; a difference…
Yes. Run the same application artifact under each selected JDK and replay one reviewed input set against both. proxymock can start a directly invoked JVM with proxy and truststore properties; custom clients and database connections need their own routing. A mocked TLS dependency does not validate…
Keep hardware limits, traffic mix, dependency configuration, data, and warm-up procedure comparable. Repeat both versions, collect enough samples, and examine CPU, garbage collection, errors, and latency percentiles. Give the generator headroom. Report the observed variation and scope; one faster…
API mocking ·
Coordinate virtual services with versioned fixtures, explicit routing, readiness checks, and repeatable resets. Start with one useful dependency.
Orchestrated Service Virtualization is a service virtualization solution which allows you to create simulations of interconnected services, APIs, and their constituent parts within a controlled environment. In effect, you are creating a simulation of the build given a certain constraint or target,…
Coordinate them when one scenario depends on several services starting with compatible fixtures, routes, credentials, and state. The useful unit is the test’s dependency graph, not every service in the organization. Orchestration should establish readiness, capture diagnostics, and clean up owned…
Pin application and fixture versions together and define shared identifiers, dependency routing, and reset rules. If a state transition matters, implement and verify it explicitly rather than assuming separate recorded responses share mutable state. Give concurrent runs distinct data scopes.…
Start with one service and one dependency that blocks a valuable test. Record or author the needed success and failure exchanges, configure routing, and verify both a match and a miss. Preserve a clear assertion and repeatable reset. Expand only after the first scenario runs reliably in CI and has…
Traffic capture and replay ·
Every developer knows there are some utilities that are completely indispensable from their workflows. The _programmer's toolbelt,_ if you will.
Traffic capture and replay ·
Learn how to build a production-grade traffic capture system using proxies, eBPF, and tcpdump.
Traffic capture and replay ·
Learn how to build a traffic analysis tool for network traffic transformation. Complete guide covering traffic analysis techniques, parsing.
Traffic analysis reveals that transformation turns noisy, environment-specific network traffic into stable, portable artifacts you can reuse. Make replay deterministic: replace timestamps, UUIDs, and tokens so runs are repeatable. Improve portability: adapt prod-shaped traffic to dev/CI/staging…
Find and normalize the dynamic tokens. Detectors catch ISO-8601 timestamps, UUIDs, JWTs, and high-entropy secrets, and transform rules replace them (timestamps to now(), UUIDs to uuid()). The hard cases span multiple requests, like a JWT that gets mutated across an OAuth flow, so the classifier has…
Redact at transform time with a layered approach: exact regexes, then ML or NLP classifiers, then human overrides. For fidelity, instead of blanking a value you can replace it with one of the same shape, so a redacted customer number still looks like a customer number during replay.
Outside the data. Transforms are rules about the data, not the data itself, so keep them as small text artifacts (YAML or JSON) in version control near your tests. That makes re-runs comparable, keeps review safe, and lets you promote rule bundles from dev to CI to staging like code.
Traffic capture and replay ·
Learn how to build a traffic replay system that validates services with production data.
Traffic replay takes captured request and response pairs and sends the requests at your service under test to validate a change against real production patterns. It catches the edge cases, timing dependencies, and integration bugs that simple hand-written tests miss.
Three things. State mismatch, because captured traffic references data that only exists in production. Time staleness, because timestamps and tokens expire. And non-determinism, because responses contain generated UUIDs and timestamps, so exact byte comparison fails every time. You solve them with…
For most cases, replay inbound requests to your service with a live database but mock the downstream dependencies from captured outbound traffic. That is the sweet spot: you can run repeatedly, validate responses in detail, and never risk corrupting production data. Shadow traffic is fast but risky…
Define objective quality gates instead of eyeballing it: status pass rate at or above 99%, JSON-path body match rate at or above 95% with timestamps and UUIDs ignored, p95 latency delta within +10%, and mock match rate at or above 98% with zero unmatched calls. Promotion between phases is automatic…
API testing ·
Cursor is one of the go-to AI-native code editors for developers. Because it’s built on Visual Studio Code, it provides a pretty smooth path between...
On a prompt, Cursor sends a gRPC request to api2.cursor.sh containing your workspace launch.json, relevant code snippets (the first 4K of each selected file), a bulk upload of your directory structure, and your repository’s git status. On a large monorepo that is a lot of directory walking.
It can if you put them where it looks. Cursor uploads your launch.json verbatim, so anything sensitive left in it, like an AWS_SESSION_TOKEN or an API key, goes to the server with it. Keep secrets in dotenv or envrc and turn on Privacy Mode in a corporate setting.
Its GetDefaultModelNudgeData endpoint returned a portfolio that included Claude 3.7 Sonnet (thinking and max), Gemini 2.0 Flash, GPT-4o-mini, Claude 3.5 Haiku, and DeepSeek v3 and r1. Auto mode is not a static pick, Cursor nudges you between models server-side based on context and subscription…
Wrap it with proxymock, which records complete API requests and responses and converts binary protobuf and gRPC into readable JSON. That is how we decoded these calls. It is like Wireshark for developers instead of packet spelunkers.
API testing ·
Claude is one of the go-to AI-native code editors for developers. It provides a smooth and simple chat-based CLI that is easy to understand.
Your prompt goes to api.anthropic.com/v1/messages as plain JSON, along with the model version and, through structured tool calls, whatever it reads from your working directory such as directory listings and file contents. It uses REST rather than the gRPC that Cursor uses, which tends to survive…
Yes. In our capture it rewrote a short prompt into a longer, more specific set of instructions before executing, and it broke the task into sub-tasks and parallel tool calls on its own. It behaves like a project manager, not just a raw model call.
It can request to. The remote model issues structured tool calls that can run things on your local desktop, gated by Claude’s permissions and sandboxing. What is in your working directory is effectively context it can read, so think about what lives there.
A lot. Command-level events go to statsig.anthropic.com (Statsig is owned by OpenAI) and detailed logs go to Datadog, tagged by model and user, down to token counts, cost, and flags like is_running_with_bun. Sticky organization, account, and user identifiers tie the events together.
API mocking ·
Many engineering organizations have recently begun adopting the practice of platform engineering as a way to increase the velocity of new features being...
Platform engineering is an approach that focuses on building and maintaining a centralized and reusable platform for developers within an organization. This platform offers a methodology to streamline software development and deployment processes. It allows a self-service capability that empowers…
The term Platform Engineering (PE) continues to evolve, but fundamentally, it encompasses the practice of building and maintaining the foundational infrastructure and systems that support business-critical applications. That usually means pursuing excellence in the domains of continuous integration…
Choosing between Platform Engineering and DevOps comes down to the organization’s specific needs, goals, and challenges. Both options are strong choices, and in many cases, they are complimentary, not competing. For this reason, it’s better to consider this question in terms of the strengths of…
If your organization is in the early stages of adopting agile or DevOps principles, starting with DevOps practices is an excellent option as it lays the groundwork for collaboration and automation. For mature organizations facing scalability challenges, platform engineering can complement existing…
API mocking ·
Run Playwright tests with recorded API mocks, diagnose UI and API failures, then run the same specs in Kubernetes. Use the lab's commands and screenshots.
Performance testing ·
Run a Postman performance test, choose virtual users, inspect latency and errors, and isolate dependencies with recorded API mocks.
Yes. Use the Collection Runner Performance mode to run virtual users concurrently. A functional collection run with repeated iterations is a different test.
Postman supports cloud performance runs on eligible paid plans. This tutorial uses the desktop App runner because its target is a localhost API.
No. Virtual users repeat a request workflow. Its length and response times affect the throughput the test produces.
Yes. Postman can send inbound HTTP requests while proxymock supplies recorded responses for downstream dependencies. Configure unmatched-request behavior for the isolation the test needs.
Traffic capture and replay ·
Give developers production-shaped debugging data with RBAC and DLP. Separate permissions from redaction and verify where sensitive fields are removed.
Permissions control who can view traffic, run replays, or change platform settings. Redaction changes sensitive values inside the traffic itself. A Developer role can still read an exposed secret if no rule removes it. Combine the documented role boundaries with tested DLP rules, and control…
Apply the rules to the source forwarder before traffic reaches cloud storage. Test request and response fields, nested payloads, and application-specific secrets before enabling production capture. Masking only in a viewer or during replay does not remove copies already stored elsewhere. Recheck…
Often, yes. Preserve the request structure and replace sensitive fields with suitable test values while keeping identifiers consistent across related requests. Verify that the sanitized scenario still reproduces the behavior. A defect that depends on a particular value may need a specially prepared…
AI development ·
AI-generated code is moving fast—but without behavioral validation, you're gambling with production stability. See how Proxymock changes the equation.
Kubernetes and observability ·
Observability is a critical element of modern software development, unlocking awareness across complex and distributed systems with ease.
Python observability refers to the ability of a developer or provider to monitor and understand the flow and state of data within a Python application. This is often done through the analysis of traffic and data such as logs, metrics, traces, attributes of data, telemetry, and other states. Whereas…
Python code is used in an incredibly diverse set of use cases and industries - it’s likely that, even if you didn’t know it, you interacted with Python at some point today. Accordingly, this ubiquity across simple to complex use cases shows that Python is powerful but diverse - and it is this…
Performance testing ·
Don't let 'QA debt' derail your career and company. Unlike technical debt, this invisible accumulation of missed tests and shortcuts builds silently.
AI development ·
Retrieval-augmented generation (RAG) has quickly become the architecture of choice for enterprises building AI applications that require access to.
Engineering and company news ·
Outsourced engineering teams are gaining in popularity and many investors have started to treat them as a requirement.
Before I go further, I want to make sure we want the same things. Prior to product-market-fit (PMF), I believe my job as CTO or VP of Engineering at Speedscale to be limited to the following goals: Minimize time between product experimentation and customer feedback. Drop the cost of producing each…
It’s never been cheaper and easier to bring a SaaS business app to market and you may not want to pay full-price local engineers for some kinds of work. “Web forms on top of databases” is a well worn path and that type of engineering will be most impacted by these kinds of trends. That doesn’t mean…
You’ll notice that I use the word “partner” instead of “vendor” and this is intentional. A good outsourcing partner can give you access to top shelf talent in a part of the world you could never reasonably access yourself and at a reasonable cost. The best partner can really accelerate your ability…
For project-based work it’s important to remember that you can give up the management of the people but never give up your management of the project. Here are a few tips to keep things on track: Secure Senior Technical Review - Maybe you have a hotshot CTO that can do regular code reviews. Maybe…
AI development ·
Use traffic replay via MCP to create a tight feedback loop for AI coding agents, preventing hallucinated success by validating against immutable.
Performance testing ·
Set performance regression baselines from repeatable workloads. Measure variation, preserve correctness checks, and compare delivered load and latency.
Software performance refers to how effectively a software application responds to specific demands. Performance encompasses several key aspects, including load time, responsiveness, and the efficiency with which it processes data. Performance metrics are vital for gauging an application’s health…
Software regression occurs when new changes introduce errors in existing parts of a software application. Regressions are typically seen more once software products become increasingly more complex.
Software regressions come from errors while programming around existing code. This could be a bug fix that resolves the original issue but introduces another issue. Regressions could also result from poor configuration file changes which cause unexpected behavior down the line. Even if these…
Use an accepted build with a reviewed fixture, workload, and dependency configuration. Run it repeatedly in a comparable environment and preserve the configuration and results. Keep request mix, data state, warm-up, and resource limits controlled. When a requirement changes intentionally, review…
There is no universal percentage. Measure run-to-run variation for the same build and workload, with enough samples and generator headroom. Examine endpoint percentiles, errors, delivered load, and resource metrics instead of one overall average. Set tolerances from the service’s requirements and…
Yes. The application can return the expected content while taking longer, consuming more resources, or completing less work under the same offered load. Keep correctness assertions and separate performance goals. A test should also establish that it delivered the intended workload; a low-latency…
AI development ·
See why reliability engineering must span code, testing, telemetry, and incidents as AI agents erase the boundary between pre-production and production.
Traffic capture and replay ·
UI synthetics only tell you something is broken. Traffic replay per microservice isolates failures before any human walks up. Zero scripts required.
Traffic capture and replay ·
Export a recorded API session to Datadog Synthetics with proxymock. Review step limits, variable chaining, credentials, and assertions before publishing.
It creates Datadog Synthetics API tests from eligible recorded HTTP exchanges. Multistep mode orders the requests into one API scenario; it does not reproduce DOM interactions, JavaScript execution, browser cookies in a real browser, or the customer’s original concurrency. Use browser tests…
The documented exporter caps a multistep bundle at ten steps and warns when additional eligible requests are dropped. Datadog describes ten as its default limit, which support can increase; that does not change the exporter’s limit. Narrow the scenario or use --bundle single --limit -1 for…
Selected sensitive headers become variable placeholders, and multistep export can extract matching JSON response strings for later requests. Review the generated files: the variables sidecar can contain captured credential values, and header replacement does not sanitize every body field.…
AI development ·
Find the rare payload that sends a service down a retry path, correlate it to the recorded response, and prove the fix with proxymock replay.
Performance testing ·
Test REST APIs with useful assertions, contract checks, controlled data, and test identities. Build a smoke test that fails for the right reason.
API testing is a critical part of the software development process. It ensures that Application Programming Interfaces, or APIs, function as intended and designed. Testing these APIs requires some best practices and tools, especially when considering specific forms and functions, such as RESTful…
Check the expected status, content type, required response fields, and a small number of business outcomes for critical paths. Include a deliberate invalid or unauthorized request and verify its expected rejection. Set a latency budget only with enough samples to interpret it. Confirm the runner…
Schema checks examine structure and declared types. Integration contract tests verify the messages consumers and providers expect to exchange; provider verification is part of that agreement. Behavior tests also examine outcomes such as persisting an order or refusing another user’s data. A…
Use dedicated test identities with limited permissions and supply credentials through the runner’s secret mechanism. Exercise expired, missing, and insufficiently privileged credentials as separate cases. Keep tokens out of committed fixtures, exported collections, and logs. If traffic was recorded…
Performance testing ·
Platform engineers focus on developing an internal developer platform to increase velocity during the software development process.
Once you’ve implemented the tooling for traffic replication, you need to identify which performance metrics you’ll actually monitor. Most cloud platforms and APIs can use the following as a starting point: Request duration: The average time taken for each request to be served. Network latency: The…
API testing ·
Non-production environments cost 20-40% of cloud bills. Digital twin testing delivers 9x ROI through infrastructure, incident, and efficiency savings.
Before we dive into ROI calculations, let’s clarify what we mean by “digital twin” in the context of testing. A digital twin for testing is a lightweight replica of your production system that uses real traffic patterns instead of synthetic test data. Unlike traditional staging environments that…
AI development ·
A practical hybrid workflow that uses costly LLM APIs for planning and local models (via Ollama + OpenCode) for execution, guarded by deterministic evals.
AI development ·
Static analysis catches code smells. Runtime validation catches behavioral failures. Enterprise teams adopting AI coding tools need both to ship safely.
Static analysis tools like SonarQube, ESLint, Checkstyle, and Qodo scan source code without executing it. They identify problems by examining the code’s structure, syntax, and known vulnerability patterns. What static analysis is good at: Code smells and style violations. Unused variables, overly…
Runtime validation tests code against actual production traffic patterns. Instead of analyzing code in isolation, it replays real API calls, database queries, and service-to-service interactions against the changed code and compares the behavior to a known baseline. Runtime validation catches…
No. Integration tests use synthetic data in pre-configured environments. Runtime validation replays actual production traffic. The difference is coverage: production traffic contains edge cases, timing patterns, and data shapes that synthetic tests never include. Integration tests verify what you…
It adds minutes, not hours. A typical replay of captured traffic for a single service takes 2-5 minutes depending on traffic volume. Compare that to the hours or days spent debugging a production incident caused by a behavioral regression that static analysis and unit tests missed.
Some static tools are adding AI-powered analysis that attempts to reason about runtime behavior. These are useful incremental improvements but fundamentally limited: you cannot determine how code behaves with real data without actually running it with real data. This is the halting problem in…
You can start by capturing traffic from any environment where real or realistic requests are flowing — staging, QA, or even local development with proxymock. Production traffic provides the highest fidelity, but any real traffic is better than synthetic test data for catching behavioral regressions.
Performance testing ·
Many businesses depend on seasonal products, offerings, and campaigns. Seasonal traffic usually refers to high traffic levels because of festival seasons.
E-commerce is one of the most prominent examples of industries that experience seasonal traffic spikes during events. To give you an idea of the scale, Amazon’s Prime Day in 2023 generated 15.35 trillion requests on EBS. While only a few companies in the world get to that scale, many companies…
AI development ·
Use Cilium Hubble flow evidence and proxymock replay to prove whether a Kubernetes timeout came from your code, a dependency, or a dropped packet.
API mocking ·
With the growing prevalence of cloud-native environments, platform teams' infrastructures are increasingly dependent on various integrated APIs.
Service mocking as part of your reference architectures can ensure your services are efficiently integrated for all possible interactions, thus improving software quality and easing infrastructure management. It’s especially useful in unit testing, where you test individual components or functions,…
Kubernetes and observability ·
In the last post we covered the industry shift towards ARM machines for both local and production software engineering.
API testing ·
Practical strategies to eliminate QA bottlenecks and build resilient testing pipelines
Performance testing ·
Traditional performance testing often comes late in the delivery cycle, typically just before release.
Shift Left testing is a proactive approach to software testing where testing activities, such as deploying functional tests, API tests, unit testing, and even performance testing, are moved to the early stages of the software development lifecycle. Instead of waiting until the final testing phase,…
Key characteristics of Shift Left testing include: Early Bug Detection: Catching defects when they’re cheaper and faster to fix. Continuous Feedback: Integrating test results into every step of the development cycle. Comprehensive Testing: Running unit tests, integration tests, and contract testing…
Despite all this, the benefits of shift left are obvious and quite alluring. Early Bug Detection: Detect performance bottlenecks, latency issues, or resource contention before production, reducing costly rework. Defining clear performance requirements early in the process helps guide testing…
While Shift Left emphasizes early validation, many readers are likely wondering about Shift Right testing. Shift Right testing focuses on validating in production environments or real-world scenarios. Cloud performance testing plays a crucial role here, as it evaluates application performance…
Key aspects of Shift Right testing include: User Feedback and Monitoring: Gathering insights from real users to detect performance issues, usability concerns, or unexpected behaviors. Continuous Monitoring: Tracking network traffic, application access, security posture, and resource usage in live…
Performance testing ·
Shopify's infrastructure crumbled in 2025 like a city under a 'Commerce Kaiju' attack.
AI development ·
AI-generated code compiles clean but breaks in production. Learn why static analysis misses behavioral failures and how runtime validation catches them.
No. Unit tests verify individual functions work as designed. Runtime validation verifies that the entire service behaves correctly with real production data. They test different things and catch different bugs.
Yes. Speedscale captures traffic at the service boundary, so each microservice can be validated independently against its actual production traffic. This is especially valuable for teams running 50-200+ services where maintaining test environments is expensive.
API mocking ·
Testing AWS services is an essential step in creating robust cloud applications.
Performance testing ·
Big data storage tools like BigQuery, Hadoop, and Cassandra are used to manage large volumes of structured and unstructured data generated by modern...
Tools like BigQuery are fundamental in database management because they provide the infrastructure needed to handle large volumes of structured and unstructured data. These tools enable distributed storage and parallel processing, thus allowing you to manage petabytes of data across multiple…
AI development ·
API gateways are often viewed as the centralized entry point for client HTTP requests in a distributed system.
Engineering and company news ·
In the half-decade since gRPC became part of our production ecosystem, we’ve encountered a range of challenges and discovered a few hidden pitfalls that.
HTTP/2 quirks (TLS end-to-end, inconsistent H2C upgrades, status codes buried in trailers, spotty firewall support), binary protobuf payloads that aren’t human-readable, protobuf-to-JSON dropping default values, and connection management where streams can hang. Most of it comes down to needing…
The payloads are binary protobuf, so you can’t read them in a browser or text editor without the .proto files and a decoder. HTTP/2 carries gRPC status codes in trailers that many tools hide, and the transport layer is abstracted, so you often can’t tell whether a message is truly in flight or just…
Protocol Buffers omit default values in JSON output. If an enum or field is set to its default (like 0), the serialized JSON just drops that key. It’s efficient but confusing, especially without the .proto on hand, so document how defaults behave or generate JSON that includes them.
That the message was queued successfully, not that it was sent. The real send happens asynchronously through gRPC’s internal scheduling and channel logic, so a success from SendMsg doesn’t guarantee delivery. Use debug logs or OpenTelemetry gRPC tracing to see what’s actually in flight.
AI development ·
Every engineering leader has seen it: a senior developer is “in the zone”…then Slack pings, CI fails, or an AI suggestion derails everything.
AI development ·
Speedscale launches proxymock as an OpenClaw skill on ClawHub, bringing traffic replay and production context to Claude for improved reliability.
The proxymock skill integrates our traffic replay tool with Claude, enabling developers to record, inspect, mock, replay, and generate API traffic without leaving their AI-assisted development environment. By observing production traffic in minute detail, proxymock adds critical context for AI…
AI development ·
Speedscale is a Representative Vendor in the Gartner Market Guide for API and MCP Testing Tools. See how traffic replay modernizes testing.
AI development ·
Testing AI-generated code in cloud-native apps? Speedscale Proxymock provides a free tool for mock API endpoints and realistic sandboxes based on real.
API mocking ·
Compare Speedscale and Coder for developer productivity in 2025. Speedscale offers production traffic replay and API mocking for realistic testing.
Performance testing ·
Compare Speedscale and HyperTest capture setup, dependency mocking, and CI workflows, with practical questions to test during an evaluation.
Speedscale offers an operator and collector path for supported Kubernetes workloads, plus proxymock for local proxy-based recording. HyperTest’s documented architecture uses an SDK to instrument application libraries, a CLI to run isolated tests, and a server for its dashboard and stored results.…
Both products document replay with dependency mocks. HyperTest’s SDK supplies recorded outbound responses during replay; proxymock answers supported outbound exchanges from a recording. Verify startup dependencies and unmatched calls too. A recording of one successful request does not establish…
Use the same service, requests, and deliberate regression in both trials. Check capture completeness, request matching, dynamic credentials, and whether the changed response produces a failing result. Then test the workflow in CI and inspect its reports. This evaluates the complete testing path…
AI development ·
Compare Speedscale and JMeter for Kubernetes load testing. Check test setup, retained plans, dependency mocks, CI gates, and performance evidence.
If you’ve set up your infrastructure and want to add load tests, choosing a load testing framework can be tricky. Both Speedscale and JMeter are great options, but Speedscale is one of the best tools for Kubernetes load testing, as it was specifically built for this purpose. Speedscale is a more…
Yes. JMeter can retain explicitly authored scenarios while Speedscale adds recorded-traffic regression and dependency simulation. Decide which runner drives inbound load in each test to avoid accidentally doubling it. Compare assertions and reports for the same service, and keep useful tests until…
JMeter needs a compatible Java runtime, test plans, plugins and data, plus enough runner capacity. Distributed mode adds remote engines and networking requirements. Speedscale’s cluster workflow needs the operator, supported capture components, and replay configuration; local proxymock uses client…
Compare assertions on status and meaningful content as well as error rate, delivered workload, and latency. Make the CI gate evaluate those results explicitly; a completed CLI run can still contain failed samples. Keep data, dependency behavior, warm-up, and generator headroom comparable. Report…
API mocking ·
Speedscale vs. Keploy: compare passive capture, protocol coverage, local replay, load testing, and data controls for production traffic testing.
Yes. proxymock records and replays supported traffic on a developer machine without a cluster. Keploy also documents native local installation, including Apple Silicon macOS and x86-64 Windows. Local support still depends on the runtime, protocol, and execution mode; check those details rather than…
Both can replace recorded dependencies, but coverage varies by platform and edition. For example, Keploy documents raw-byte capture with replay limitations for Postgres on native macOS and Windows, while proxymock documents a mapped-port PostgreSQL workflow. Evaluate the exact driver, TLS settings,…
Check the current plan and license terms for your intended use. proxymock has free-use eligibility conditions rather than a blanket free license for every organization. Keploy lists a free Playground, paid Pro capabilities including load testing, and Enterprise production capture and private…
API mocking ·
API mocking plays a crucial role in modern software development allowing developers to simulate external API endpoints.
Let’s dive into what these two API mocking tools are and how they mock cloud services.
A recorded mock answers selected requests using captured exchanges. LocalStack implements supported AWS APIs in an emulated environment, so an application can create and interact with resources there. Use recording to control the dependency responses your application sees; use emulation when the…
It does not automatically implement the provider’s storage engine, IAM evaluation, quota accounting, or asynchronous delivery rules. A saved success response can test how the caller handles that response, but it cannot prove that a real write persisted or that the caller has permission to make it.…
Keep it when resource lifecycle, infrastructure configuration, or interactions between cloud services are the behavior under test. LocalStack documents local and CI workflows for those scenarios; verify coverage for the services and APIs you use. Use disposable real AWS resources when the remaining…
Performance testing ·
Compare Speedscale and ReadyAPI workflows for recorded traffic, authored assertions, dependency virtualization, and CI testing.
Keep useful ReadyAPI projects in their existing runner while evaluating a recorded-traffic workflow alongside them. Existing tests can exercise the application while traffic is recorded. Speedscale also documents Postman collection v2.1 import, but that should not be treated as an automatic…
A recording supplies observed inputs and responses; it still needs a reviewed baseline and meaningful pass criteria. Authored assertions express an expected rule, including behavior that has not yet been observed. Combine the two: use captured traffic to drive realistic cases and assertions to…
Use it when an unavailable, costly, or unstable dependency prevents a repeatable test. ReadyAPI supports creating and running virtual APIs, with VirtRunner and VirtServer options for automation and remote execution. Speedscale uses recorded dependency exchanges as mocks. Choose which dependencies…
AI development ·
It has never been more critical to establish a solid foundation for regulatory compliance. Regulations govern a wide range of functions.
API testing ·
Enterprise Spring Boot APIs need more than unit tests. Learn how to test external service integrations, JWT auth, production edge cases with real traffic.
No. WireMock is still useful for deterministic integration tests where you need precise control over responses. Traffic replay complements WireMock by providing realistic test data derived from actual API responses. Many teams use WireMock for contract tests and traffic replay for regression tests.…
The demo app runs on Java 17 with Spring Boot 3.1. proxymock and Speedscale work with any Java version and any Spring Boot version because they operate at the network level, not the JVM level. Your application’s HTTP traffic is captured and replayed regardless of the Java runtime.
proxymock and Speedscale support redaction rules that strip sensitive data from recordings. API keys, passwords, and PII can be masked or replaced with tokens before the recording is stored. For the demo app, the HMAC secret is configured in application.properties and JWT tokens are regenerated…
Yes. Speedscale’s MCP integration exposes captured traffic to AI agents like Cursor and Claude Code. The AI can see real request/response pairs from production while generating handler code, closing the context gap that causes most AI-generated code failures.
API testing ·
OAuth 2.0 is the leading open authorization framework that enables secure delegated access to protected resources.
It might be tempting to just throw as much synthetic data at the problem as possible and validate that your OAuth flows work. Unfortunately, synthetic testing is often quite problematic. Simple synthetic tests generate uniform HTTP requests, but they lack the dynamics of real OAuth clients and…
Kubernetes and observability ·
As developers, one of the most important things we can consider when designing and building applications is the ability to know if our application is.
Container probes are diagnostic checks that run periodically against containers within a pod. The outcome of these checks allows Kubernetes to control aspects of a pod’s lifecycle, with kubernetes liveness probes being crucial for maintaining application health. In other words, they can help…
Container probes, including liveness probe configuration, are defined as a part of your application’s pod spec with several options available, most importantly being the mechanism by which they are executed. Kubernetes provides four mechanisms that can be used: exec: probes of this type will…
Kubernetes and observability ·
Kubernetes has revolutionized how modern applications are built, deployed, and scaled. However, due to its complexity, managing a Kubernetes development...
Traffic capture and replay ·
Synthetic monitoring depends on scripts engineers maintain by hand. Capturing and replaying real production transactions turns customer behavior into tests.
AI development ·
A few short years ago, the idea of using a Large Language Model was relegated to some specific models and implementations for a given industry or use case.
Kubernetes and observability ·
One forwarder, many teams, one DLP rule nobody wants to touch. Scoped group rules let each team own its redaction. How-to for proxymock web and Speedscale.
proxymock web is the place to write a rule next to the traffic it has to redact. Rules are workspace files at proxymock/dlprules/<id>.json, so they can be reviewed in a pull request like any other change. 1. Create the rule. Open DLP Rules under Config and click + New. The template is already a…
Teams that manage rules in Speedscale Cloud get the same model in the dashboard. Open DLP Rules, create or pick a rule, and open the Scope tab. Choose Group rule, fill in Owner, and name the workloads. The summary line above the tabs states in one sentence what the rule is and what it covers. The…
API mocking ·
Generate GraphQL tests and mocks from a schema with proxymock, catch failures hidden inside HTTP 200 responses, and flag schema changes before clients break.
A GraphQL response can contain an errors array and partial or null data even when HTTP reports success. Assert on the expected data and error behavior as well as the status. Response comparison can expose an unexpected error payload, provided those fields are included in the comparison and the…
No. The schema-generation workflow covers queries and mutations and lists subscription fields as skipped. GraphQL subscriptions can use long-lived transports such as WebSockets or server-sent events, which need their own lifecycle tests. This article’s GraphQL schema features also require a build…
Schema validation asks whether selected response fields conform to the GraphQL contract. Regression comparison asks whether their values changed from a reviewed recording. A response can satisfy its schema while containing the wrong price, user, or permission decision. Use both checks, and review…
API mocking ·
Part 5 of Getting Started with Mocks: a test that pinned the retry schedule broke on a change no customer could notice. Here is how to rewrite it.
AI development ·
Claude Code can write features and fix bugs, proxymock traffic snapshots give me the integration tests, replays.
Performance testing ·
Replay recorded PostgreSQL queries to catch schema regressions and run realistic database load tests with proxymock, using the CLI or an AI assistant.
Performance testing ·
Replay your app's recorded MySQL statements against 8.4 to catch upgrade regressions, then load test the database with the same workload using proxymock.
AI development ·
Generative AI can produce code faster than humans, and developers feel more productive with it integrated into their IDEs.
CI/CD is built around four stages: source (commit) stage, build stage, testing stage, and deploy stage. Since AI-generated code can introduce security vulnerabilities and quality issues, it’s important to incorporate AI-specific tests across each stage of the CI/CD pipeline. Source stage: The first…
API testing ·
Test Go handlers and clients with httptest. Choose recorders, local HTTP servers, and TLS test clients, and define database boundaries explicitly.
Use ResponseRecorder to call a handler directly and inspect its status, headers, and body without opening a listener. Use NewServer when the test needs an actual client/server HTTP exchange, including transport or routing through the handler you register. Both execute the handler’s configured…
Use NewTLSServer for a controlled HTTPS client path and inject the server’s Client, which trusts its test certificate. Keep production trust settings intact. This does not validate production certificate renewal, mutual TLS, or proxy configuration. If HTTP/2 is the subject, configure…
Inject a narrow repository interface and supply a fake or generated mock for handler-level decisions. Exercise success, not-found, and database-error responses while checking the expected repository interaction. Run separate integration tests against a disposable database for SQL, constraints,…
Traffic capture and replay ·
Kubernetes is an incredibly powerful solution, but testing the Kubernetes Ingress resources themselves can prove to be quite tricky.
These faults can happen for a large variety of reasons, ranging from simple ingress rules mismatches to more complex issues with load balancers or web servers. With ingress specifically, the problem often has to do with a fundamental misalignment between the data being used in testing and the…
In this post, you’ve seen just a simple example of how traffic replay can help you test your Ingress resources, but this is only the tip of the iceberg.
Performance testing ·
Compare TestInspector vs Speedscale for API regression, dependency mocking, and load testing. Check documented differences and try a local replay today.
No. Speedscale’s proxymock CLI supports local recording, dependency mocking, and replay without Kubernetes. Docker and Docker Compose workflows are also documented. Cluster orchestration has separate setup requirements.
Yes. TestInspector’s HTTP request steps can check a response status or body without driving a UI interaction. Those steps issue their own requests; a successful check does not establish what the browser sent during an earlier interaction.
No. proxymock can generate mocks and inbound test definitions from an OpenAPI specification. Use inbound generation for replayable tests. Review generated values and expected outcomes; schema-based examples and captured traffic provide different kinds of coverage.
Speedscale is the stronger fit for replaying API traffic under load. Its CLI supports virtual users and duration controls. Astaqc directs TestInspector users to dedicated tools for concurrent-user and throughput testing. High-throughput proxymock load mode skips response matching, so validate…
Yes. Speedscale has a dashboard AI assistant, and proxymock exposes recording, mocking, and replay tools through Model Context Protocol. This lets supported coding assistants work with captured traffic. Review the assistant’s output against replay results.
Yes. Use TestInspector for browser journeys and Speedscale for API replay, dependency simulation, and load testing. Both can contribute to a release check, with each test covering its own failure modes. Decide which results should block a release and retain the evidence from each tool.
Kubernetes and observability ·
Learn the 4 golden signals — latency, traffic, errors, and saturation — and how to use them for monitoring, alerting, and pre-release testing.
There are many different variables that can be tracked to understand system performance and system health. Fortunately, right now, there are a couple of common frameworks we can borrow from: Google SRE Handbook on Monitoring Distributed Systems with the Four Golden Signals: latency, traffic,…
The Golden Signals are an incredibly powerful set of metrics that unlock a variety of insights into system health and potential tool integrations. The Golden Signals concept is based around providing as much information as possible around system stability, user demand, resource allocation, and…
The Golden Signals provide some incredible benefits and use cases. Let’s take a look at a few of them.
Detecting anomalies in your system leverages the Golden Signals as a foundational metric, testing actual system performance against a preferred baseline. There are quite a few techniques that can be deployed to make this process more effective.
The 4 golden signals are latency (how long requests take), traffic (how much demand your system handles), errors (the rate of failed requests), and saturation (how full your system’s resources are). They were defined by Google’s SRE team as the minimum metrics needed to understand system health.
Golden signals (latency, traffic, errors, saturation) focus on user-facing service health. The USE method (utilization, saturation, errors) focuses on infrastructure resource health. Golden signals tell you “is the user experience good?” while USE tells you “are the servers healthy?” Most teams use…
Capture production traffic and replay it against a pre-release build. Measure the golden signals during replay and compare them to your production baselines. If latency spikes, throughput drops, or error rates increase, you’ve caught a regression before it reaches users. Tools like Speedscale…
Prometheus and Grafana are the most common open-source stack. Datadog, New Relic, and Dynatrace are popular commercial options. For pre-release golden signal validation, Speedscale measures all four signals during traffic replay and compares them against production baselines automatically.
Performance testing ·
Compare the top 6 performance testing tools, Speedscale, JMeter, Locust, Gatling, NeoLoad, k6, across features, pricing, integrations, reliability.
AI development ·
AI-generated code breaks traditional mocking. Here's how BYOC capture and replay with proxymock keeps verification grounded in real production traffic.
Performance testing ·
Compare recorded SQL between releases with proxymock. Find query-count drift, new statements, captured DDL, and timing changes that HTTP tests can miss.
It can reveal new or removed statement shapes, execution-count drift, captured DDL, and timing changes in recorded SQL traffic. That can expose an N+1 candidate even when JSON responses remain unchanged. Query-text inference and captured timings are evidence to investigate; they are not a complete…
Start both versions from comparable disposable database state, run the same input mix, and control startup migrations, caches, and background work. Capture the database connection in both runs. Rates normalized per 1,000 SQL queries help compare volume, but cannot compensate for different endpoint…
AI development ·
The best model isn't the smartest — it's whichever should get the next unit of work. Notes from NVIDIA on routing, local models, and the AI factory.
Performance testing ·
Stop letting third-party API spikes crash your app. Learn why mocking latency for OpenAI, Anthropic.
Kubernetes and observability ·
Security controls rarely break a banking platform alone. Their cumulative divergence from Kubernetes standards creates a compounding maintenance tax.
AI development ·
Master debugging AI-generated code by spotting flawed logic, removing deprecated APIs, and catching hallucinated functions before they ship.
The quality of AI-generated code is directly correlated with the quality of the prompts you provide. By improving your prompting technique, you can significantly reduce debugging overhead and achieve more reliable code from the outset. Be Specific About Context: Instead of asking “write a function…
AI models predict what code should look like based on training patterns, but they can’t actually check if functions exist in real libraries. They’ll confidently create pandas.DataFrame.merge_smart() or combine elements from different libraries into something that sounds right but doesn’t work. It’s…
AI-generated code can be a solid starting point, but don’t ship it blindly. Treat it like code from a junior developer—useful, but needs review and testing. With proper debugging workflows and tools like proxymock for real traffic validation, AI-generated code can definitely work in production.…
Layer your validation: write unit tests for edge cases, use traffic replay tools to test with real data patterns, do manual code reviews for business logic, and run static analysis tools. AI code breaks in creative ways, so you need multiple approaches to catch everything.
You can’t eliminate them completely, but better prompting helps a lot. Be specific about libraries and versions, paste in documentation when needed, and always validate against official docs. Using tools like proxymock to test against real production scenarios will quickly show you when the AI made…
Engineering and company news ·
Developer Experience (DevEx) is a general term that encompasses all of the interactions a developer has with their work environment.
This, of course, raises the question: what makes a Developer Experience good? While there are as many development preferences as there are developers in the world, some general categories should be focused on to deliver an exceptional developer experience.
AI development ·
AI-generated scripts seem like a quick win, but DIY traffic replay tools become a maintenance nightmare at scale. Here's why Speedscale beats the prompt.
AI development ·
Production AI spend gets attention. Non-prod LLM calls in development, CI, and load tests often do not. Simulation fixes that.
API testing ·
Security misconfiguration remains one of the most persistent and preventable causes of API vulnerabilities today.
Preventing security misconfigurations takes more than good intentions. It requires proactive effort, automation, and embedded security awareness. Regular api security testing is essential to identify vulnerabilities in APIs and ensure that security controls like authentication and rate limiting are…
Kubernetes and observability ·
A Kubeshark alternative that goes beyond observability. Stream live cluster traffic into proxymock, then replay or mock it locally from your laptop.
The operator must deploy a healthy node collector and forwarder, with capture enabled for the selected workload. Nodes need the documented kernel, BTF, host-path, and capability support. TLS visibility also depends on the runtime; JVM capture requires the Java agent and a rollout. Working…
The local view connects to the cluster forwarder, normally through an automatic port-forward. Saving selected traffic creates request/response files in the local workspace for subsequent tests and mocks. That local path does not prove cloud export is disabled: review the forwarder’s configured…
Save the relevant inbound requests and outbound dependency exchanges, run your real service against the recorded mocks, and replay the inbound cases. Replace production credentials, enforce network restrictions, and verify mock matches. Disable HTTP passthrough where appropriate. Inspect response…
Kubernetes and observability ·
Teams spend six figures on observability but test with synthetic data. Close the gap between what you know about production and what you validate pre-release.
“Using production data” typically means copying a database snapshot into staging. Observability-driven testing is more precise: it captures the actual API traffic (requests, responses, timing) flowing through your services and replays it as tests. You’re not just using production data. You’re using…
Production traffic must be sanitized before replay. This means stripping PII fields, redacting payment data, and rewriting auth tokens. Speedscale and proxymock handle this automatically via configurable DLP rules that scrub sensitive data before it leaves the capture pipeline. The sanitized…
AI development ·
Software is hard to test when production data contains PII and AI systems are causing an explosion in bugs.
AI development ·
Use OpenCost and proxymock to prove Kubernetes rightsizing lowers cost per successful request without hiding behavior or throughput regressions in testing.
AI development ·
In API testing, speed, accuracy, and confidence in test results are everything. Regardless of whether you're validating functionality...
So, what is data coupling at its core? Data coupling occurs when your testing is overly dependent on the specific state of the data layer. Issues such as pre-populated database records, static user IDs, or shared data setups between test cases can undermine the test results and the inferences based…
While it may seem like a minor inconvenience, data coupling has far-reaching consequences across your API lifecycle: False confidence - your test results may look green, but they’re green for the wrong reasons. Regression risks - seemingly unrelated changes to the database schema or seed data can…
To avoid data coupling, API testing needs to embrace isolation, repeatability, and determinism. Your tests should: Spin up and tear down their own test data Avoid assumptions about the application’s state Run reliably in parallel and in CI/CD Validate only the API layer, not downstream systems or…
When choosing or evaluating your API testing platform, look for platforms that support: Test data generation and cleanup CI/CD pipeline integration Test automation for functional API testing Load testing and performance monitoring Security testing and API validation Replay-based testing (traffic…
If data coupling is the silent API killer, Speedscale is your shield. Traditional API testing tools often assume clean environments, stable data, and perfectly isolated services - but that’s rarely the case in modern software systems. Speedscale flips the script by bringing real traffic into your…
AI development ·
Metrics, logs, and traces were built for humans and cheap storage. AI inverts both assumptions, and the next maturity level is a deterministic replay sandbox.
Engineering and company news ·
Setting up a development environment can be challenging, especially for new developers or those adapting to new developer tools.
Performance testing ·
From memes to market meltdowns: Explore how a multi-billion dollar Super Bowl prop bet involving Kim Jong Un pushed prediction markets and SRE teams to.
API mocking ·
Part 6 of Getting Started with Mocks: stub, spy, fake, mock, and dummy, sorted by what each one does. Java, Node, Go, Python.
API testing ·
A rebuilt 2026 guide to Postman alternatives. Which API clients are still maintained, what they cost, and which one fits local-first, gRPC, or team workflows.
Performance testing ·
Compare JMeter alternatives for scripts, recorded traffic, and distributed load. Preserve useful plans and verify runner capacity before migrating.
Yes. Existing plans can continue in JMeter’s non-GUI runner while you evaluate another workflow. Preserve plugins, data files, credentials, and required JMeter/Java versions in CI. A move to another runner may require recreating samplers, assertions, and correlation rather than importing the plan…
Use multiple generators when one cannot deliver the required workload with enough CPU and network headroom, or when source geography is part of the test. Verify total offered load and each generator’s delivery. In JMeter remote mode, every engine runs the full plan, so adding engines multiplies the…
Captured requests and responses become the starting fixture instead of authoring every exchange. You still choose the workload, valid credentials, dynamic-value correlation, dependency boundary, and assertions. Recordings cover observed cases, not every requirement. Keep deliberate negative and…
Performance testing ·
Compare k6 alternatives for scripted and recorded load tests. Check existing script reuse, dependency mocks, distributed runners, and reporting needs.
Keep k6 when its scripts, workload models, and thresholds already meet the load-driving requirement. Add capture and dependency simulation if maintaining realistic inputs or isolating backends is the missing capability. Speedscale can export captured inbound requests to k6 while supplying recorded…
Keep them in their native runner while evaluating another tool alongside them. k6 scripts, Gatling simulations, JMeter plans, and Locust files are different formats, even when they target the same API. Verify any converter’s supported subset, then compare requests, correlation, assertions, and load…
Speedscale provides a capture-and-replay workflow with recorded responses for supported dependencies; proxymock provides a local proxy workflow. Select it when those recordings solve a concrete fixture or environment problem. Check capture coverage, mock misses, timing, and CI gates with your…
API mocking ·
Developing highly resilient Kubernetes deployments is crucial for ensuring that your hosted applications in Kubernetes can effectively manage and recover.
API mocking ·
Compare API mocking tools. Choose function stubs, examples, or recorded network responses, and keep fixtures aligned with the intended contract.
Get The Tutorial Consider a situation where a developer is working on an HTTP-based API for a complex online marketplace. Developers can define detailed requests and responses for each service. This enables thorough testing of each component in isolation, as well as their interplay, without relying…
Get The Guide When it’s time for testing, an instance of this mock struct is created and expectations are set, specifying what parameters are expected when methods are invoked, what the mock should return, and how many times a method should be called. When the tests are run, any deviation from…
With the wide range of API mocking tools available, choosing the ‘best’ one isn’t a one-size-fits-all scenario. The right tool will heavily depend on the specific needs and circumstances of your project, as well as what phase of testing you are in. Whether you require the comprehensive…
Use examples when the API does not yet exist or you need a deliberate edge case absent from current traffic. Use recordings to preserve observed exchanges from an existing integration. Both need review against the intended contract: a generated value is not observed provider behavior, and a…
Choose a function stub to isolate logic behind an interface, such as a Go interface mocked with GoMock. Choose a network mock when you need the actual HTTP or database client, request encoding, routing, and response decoding to execute. Neither automatically validates the real dependency’s…
Update fixtures when an intentional contract change or a verified integration result makes them stale. Review requests, responses, matching rules, and dependent tests together. Preserve the previous baseline for behavior that should stay compatible, and add explicit new cases. Re-recording solely…
Performance testing ·
When building cloud-based applications, managing the infrastructure becomes a bigger challenge as you scale. Kubernetes brings order to the chaos...
The tools in this list have been chosen mainly because of the capabilities they offer. They make debugging easier and deliver information that helps you solve problems. They are also accessible and are easy to use and set up. In addition, they are generally open source and either free or…
Performance testing ·
This article explores the best alternatives to traffic shadowing for conducting efficient load testing and refactoring.
Traffic shadowing, also called traffic mirroring, is an approach for software testing that utilizes recorded user traffic as the source of data for later replay against a service. This duplication of production traffic allows for effective testing and refactoring with data that is based on the real…
API mocking ·
Mocking APIs is a popular practice in software development, with an increasing number of developers now reaping the benefits–and no longer using their.
A mock service is a development tool that imitates a real software service by returning realistic responses–without requiring computed logic to produce the response. For many developers and engineering teams, this capability can be very useful, particularly for cases such as: using third-party APIs…
To run a mock service, you’ll need to decide what data to mock and how to expose this mock service.
Kubernetes and observability ·
The trace was sampled out. I found the bug anyway — by filtering recorded traffic on the customer's email instead of a trace ID. Here's how to follow one request across four services with no trace IDs and no OpenTelemetry.
Traffic capture and replay ·
Compare Istio traffic mirroring with Speedscale replay in Kubernetes. Use capture, redaction, and dependency isolation for repeatable regression tests.
Yes, if the shadow application still has production credentials and network access. Mirroring discards the shadow response, not the work performed while producing it. Use test identities, isolated dependencies, and enforced egress controls. Verify the destination of writes and external API calls…
No. Istio documents mirrored requests as fire-and-forget and discards their responses. Add separate instrumentation or comparison tooling to judge shadow behavior. Logs can reveal failures, but a mirror rule alone does not save a reusable baseline or produce a response-regression verdict.
Use replay when you need the same reviewed inputs on successive builds, independent of when production receives them. A saved snapshot also lets you configure transforms, assertions, and selected dependency mocks. Use live mirroring for current traffic against an isolated shadow deployment. Neither…
Traffic capture and replay ·
Compare API traffic replay with browser session replay. Choose tools for backend regression tests, dependency mocks, or understanding website behavior.
GoalRecording and executionUseful evidenceBackend regression testingSend captured API requests to a candidate serviceResponse assertions, errors, and reproducible test resultsLoad testingDrive a defined request workload at controlled concurrency or rateThroughput, latency percentiles, and error…
Traffic capture and replay ·
Capture one service's API traffic, replay it against a Kubernetes test workload, and use the report to tell a regression from a replay setup problem.
A replay runs with different time, credentials, data, and dependency state. An expired token, a changed target address, or an identifier created earlier in the flow can invalidate the recorded request even when the application is healthy. Inspect the failing exchange first, then distinguish a setup…
Use narrowly scoped transforms to carry values from the current response into later requests, or supply environment-specific credentials through secret references. A saved login response is not a fresh credential. Review the before-and-after traffic, then run the complete sequence to verify that…
That depends on the test configuration and networking. The service under test runs its code, while selected dependencies can be mocked and others can remain real. Document that boundary before replaying, verify which calls matched mocks, and test an unmatched request. A green response comparison…
Performance testing ·
The software and product life cycle is fraught with pitfalls and tradeoffs. While testing applications under production-like load is critical to ensuring.
Stress testing is more than just a checkbox in the software development process—it’s a strategic approach to safeguarding the end user experience and the business as a whole. By subjecting systems to extreme load conditions, developers can identify and fix issues that might otherwise go unnoticed…
Performance testing ·
Testing is crucial for ensuring the reliability and stability of your Kubernetes application in a containerized environment. Unlike traditional software...
There are several reasons why Kubernetes testing is important from a business perspective. For starters, by performing extensive Kubernetes testing, organizations can ensure high availability of applications and thus minimize costly downtime. Kubernetes testing also allows DevOps teams to…
Performance testing ·
In the process of developing software, designing and performing testing is a critical aspect of ensuring high software reliability, improving software.
In the process of developing software, designing and performing testing is a critical aspect of ensuring high software reliability, improving software quality, and deploying strong fit and function. The shift-right testing approach moves testing to later in your production cycle as a way of doing…
Shift-Right testing moves the focus to production post-release, and accordingly, utilizes tooling built for this process. Shift-right testing practices arose from the need to get tests that better reflect how users interact with a product and from faster deployments that leave less room for robust…
Traffic-driven testing uses real traffic for testing but doesn’t restrict you to only running tests in production. You capture the traffic and reuse it later. Like shift-right, traffic-driven testing uses real user data to power your tests, but you can manipulate and control this data. It’s…
AI development ·
In 2025, training AI and Large Language Models is no longer just about scale - it’s about the quality of the signal.
API testing ·
A production bug survived two confident fixes and green tests. Replaying the captured request exposed the missing state and proved the real fix.
API mocking ·
Build a JSON mock API for frontend testing. Learn what simulated responses cover, how CRUD state works, and where real-backend tests still matter.
A JSON mock API is essentially a simulated interface that mimics the behavior of a real API using predefined JSON data. This API type is particularly useful for testing front-end applications without the need for an actual backend server. It allows developers to work on the front end independently…
Creating a JSON mock API involves several steps. Firstly, you must choose the right tool to create and manage your mock. From here, you’ll need to identify your environmental constraints and desired final structure, which will allow you to actually create the environment itself. Next, you’ll need…
Kubernetes and observability ·
There are many reasons why you might want to leverage eBPF for plaintext inspection of TLS traffic including security monitoring, debugging, traffic.
AI development ·
Generative AI is quickly becoming ubiquitous in the software development space, with tools like Anthropic’s Claude offering rapid methodologies for code...
AI development ·
Discover why AI coding agents need traffic replay to bridge the gap between stochastic AI and deterministic software engineering.
AI development ·
Have your coding agent test AI-generated code with proxymock: capture working API traffic, replay it against changes, and inspect the results.
A recording preserves observed behavior, including mistakes. Review the expected response against the requirement before accepting it as a baseline. Keep an incident recording to reproduce a defect, then add an explicit expectation for the fix. A new response matching the old bug is evidence of…
No. Replay exercises the inputs and comparisons present in the saved traffic. Keep unit tests for logic and add requirement-driven tests for new behavior, boundary values, and error cases absent from the recording. Refresh fixtures deliberately when the contract changes, without replacing the…
Require the unchanged source recording, candidate revision, replay command and configuration, observed responses, and validation report. For CI, keep the verdict and process exit status, with an explicit failure gate enabled. Inspect mismatches and outbound mock results yourself; an agent’s summary…
Engineering and company news ·
Microservices are now the architecture of choice for many developers when crafting cloud-native applications.
API mocking ·
Record AWS API calls with proxymock, inspect the capture, and run local mocks while keeping IAM, signing, and cloud-state integration tests.
API mocking ·
Record Google Cloud API calls with proxymock and test locally. Understand the limits around IAM, OAuth, quotas, and stateful behavior.
API mocking ·
Use Python requests with MockServer’s REST API to create expectations, test failure responses, verify calls, and reset state between tests.
Traffic capture and replay ·
Validate Spring Boot upgrades with recorded traffic. Compare API behavior, control dependencies, and review changes before updating the test baseline.
Replay can reveal changed status codes, JSON fields, authentication behavior, and errors on the captured paths after a Spring Boot upgrade. It cannot cover unrecorded inputs, prove every background task works, or replace compilation and framework migration checks. Follow the migration notes for…
Use the same reviewed traffic fixture for both builds and define which dependencies are mocked. Reset any live test database or cache to a known state and supply valid test credentials. For JVM capture, verify the Java agent’s coverage; for local proxy capture, configure the actual HTTP or database…
Compare each difference with the intended contract and the upgrade notes. Preserve strict checks on business fields, and scope transforms to genuinely variable values such as fresh tokens. Document approved differences and update expectations in review. Do not broadly ignore fields or regenerate…
AI development ·
Mocking APIs is a popular practice in software development. An increasing number of developers are reaping the benefits and no longer using their valuable.
A mock service is a development tool that imitates a real software service by returning realistic responses without requiring computed logic to produce the response. For many developers and engineering teams, this capability can be very useful, particularly for cases such as using third-party APIs…
In software testing methodologies, services are defined as being in-scope or out-of-scope. The services that are in scope are the ones you care about when testing. This can be a single service or a cluster of services. Services that are out-of-scope are the ones you don’t want to test, however they…
To run a mock service, you’ll need to decide what data to mock and how to expose this mock service.
AI development ·
MSA clauses and contractual guarantees aren't an architecture. If your production traffic leaves your cloud, you're trusting a policy, not a system.
AI development ·
When working with AI in cloud environments, traditional data provisioning and software testing methods don't work because of the behavior of AI and LLM.
AI development ·
AI coding tools generate code from docs and examples—but they've never seen your production traffic. Here's what breaks AI-generated code.
API mocking ·
Especially, if you have a globally distributed team, CDEs give you a smoother developer experience just by its _online_ nature.
Depending on the CDE provider, the exact specifics of setting up the environment can vary quite a bit. But here’s a general guide that discusses the major steps in the process.
Engineering and company news ·
Create ephemeral environments when deployed testing adds value. Version test data, define ownership and expiry, and verify cleanup of external resources.
Ephemeral environments are temporary environments used as infrastructure for development, testing, staging, and other non-production functions. While they replicate production-like conditions, they are generally not intended to be used as production environments. These environments are…
Ephemeral environments use automated systems to provision and manage resources. These systems typically use a cloud provider to provision resources based on a pre-determined build guide, utilizing cloud resources and replicated data to create environments for specific purposes. Once a system is…
Developing anything requires a high level of control. The ability to create in an environment you understand is incredibly impactful, but getting to that understanding has often required deep introspection of your data sources, the network, the systems tied into both, and the very code being worked…
No. Create one when deployed behavior or stakeholder review justifies the provisioning cost and maintenance. Short-lived documentation or isolated logic changes may need only earlier checks. Use pipeline rules or an explicit request for expensive environments. Choose the smallest deployment that…
Version seed data or a sanitized snapshot with the scenario, apply the required schema, and verify the starting records before testing. Isolate live test databases from other runs and reset them deliberately. Recorded mocks supply selected responses, not arbitrary mutable database state. Rebuilding…
Record an owner, purpose, expiry, and resource inventory when each environment is created. Combine merge or branch-close cleanup with an expiry and reconciliation for failed teardown jobs. Include storage and external resources in that inventory. Retain evidence separately and check remaining…
Engineering and company news ·
Use preview environments for branch review with explicit data, access, and dependency boundaries. Automate expiry and verify resource cleanup.
A preview environment is a cloud-based, temporary environment that closely replicates the production setting of an application. These environments are designed to test code changes before they are merged into the main branch of a Git repository, offering developers and QA teams a safe space to…
A preview environment usually deploys a particular branch or merge request for focused review. Shared staging commonly integrates changes from several branches or services. Neither name guarantees a full production copy or isolation. Define the versions, data, dependency routes, and access boundary…
Provision disposable test data or an approved sanitized snapshot, and use credentials limited to that environment. Separate database names or instances, queue consumers, caches, and external test accounts where collisions matter. Supply secrets through the deployment system and restrict access to…
Remove it when the review or test purpose ends, with an expiry as a fallback for abandoned branches. Preserve required logs and test reports first. Configure a stop job that removes the actual deployed resources, then verify that external databases, volumes, DNS, and other owned resources are…
Kubernetes and observability ·
Diagnose Kubernetes OOMKilled events. Separate memory limits from CPU throttling, inspect termination evidence, and size resources from measured workloads.
OOMKilled is a container termination reason indicating an out-of-memory kill. It is often accompanied by exit code 137, but that number alone is not a diagnosis: an ordinary SIGKILL can produce it too. Inspect the container’s terminated or last-terminated state, previous logs, events, and node…
No. Under the usual shell convention, 137 indicates termination by signal 9, SIGKILL; an out-of-memory kill is one possible cause. Inspect Kubernetes container termination reasons and prior state, pod events, and node evidence. Distinguish an OOMKilled container from eviction or another forced…
Compare memory over repeated, comparable workloads and after work subsides. A stable working set above the configured limit suggests a sizing issue; continued retained-memory growth can suggest a leak. Neither pattern alone proves the cause. Use runtime heap or allocation profiles, request and…
Save container status and restart history, previous-instance logs, relevant events, memory usage over time, requests and limits, and node pressure around the termination. Record the workload and recent changes. CPU limits normally throttle execution; they are not memory budgets. Increase a limit…
Traffic capture and replay ·
Building a targeted eBPF network traffic capture tool reveals why a general-purpose eBPF observability agent is exponentially harder.
After building our TLS capture tool and staring into the abyss of what a full observability agent would require, here’s my take:
A component that captures plaintext HTTP and HTTPS payloads from Go and non-Go (OpenSSL) applications without proxies. For Go it attaches probes to crypto/tls (*Conn).Read and Write, and for OpenSSL apps it hooks socket read/write syscalls plus the OpenSSL read and write calls, so traffic can be…
Capture has fixed target functions, simple byte-buffer data types, stateless probes, and a stable ABI, so it is a tractable 1x baseline. Full APM with spans, traces, correlation, and stack unwinding is 50 to 100x harder because the complexity grows with each language runtime, not with scope.
ABI differences across languages. Go passes arguments in version-dependent registers and strips symbols in production, the JVM and .NET generate code at runtime so addresses move, and interpreted languages force you to walk interpreter structs to find a single variable. On top of that, uprobes in a…
Use it for targeted, narrow-scope instrumentation like network capture, infrastructure monitoring, and security enforcement, where the surface area is small and bounded. Avoid it as a single-program solution for general-purpose APM across many languages, deep application-level tracing with full…
API mocking ·
One of the most important aspects of a product is the ability to showcase its functionality.
Kubernetes and observability ·
Memory leaks happen when a program fails to release memory it no longer needs, and can be a big issue for developers and system administrators alike...
Memory leaks can happen due to programming errors, poorly written algorithms, or resource-intensive processes. As available memory depletes over time, the system’s performance suffers, causing increased load times and bad user experiences. This can cause long-term tack on effects across the entire…
Production traffic replication is a technique that uses traffic replay and automatic mocks to isolate a service under testing, providing a realistic environment for performance testing. Deeper dives can be found in other posts like the definitive guide to traffic replay or the advantages of mock…
Identifying and isolating memory leaks in complex systems like Kubernetes can be a daunting challenge for developers, but it’s crucial to maintain optimal system performance and prevent cyber attacks. Using production traffic replication tools like Speedscale can make this process much more…
Performance testing ·
Start load testing with a bounded workload, representative data, measured duration, and explicit latency, error, and correctness goals.
Load testing is a type of software performance testing that verifies the stability and scalability of a software application by subjecting it to a set amount of expected usage. Imagine this scenario: you’re launching a new eCommerce website or a highly anticipated new product. After completing your…
Load testing can benefit everyone, including developers, the greater organization, and even end-users. Developers benefit from the ability to identify issues or bottlenecks without disrupting user experience and relying on real-user reports. They can then fix these bottlenecks preemptively rather…
Despite many great use cases for load tests, it may not be optimal in some situations. For example, if you’re a small startup still trying to find product-market fit, load testing may not be a top priority. Similarly, if your application has low usage, or serves mainly static content, the benefits…
Load testing is critical for determining the resiliency and scalability of an application under different kinds of load. It measures an application’s performance and stability by simulating real usage within realistic production conditions. In theory, you should measure any metric that can identify…
Start with a bounded workload that exercises a few critical operations and confirms valid data, assertions, routing, and reports. Then increase toward the traffic level and request mix relevant to the service goal. Measure achieved load and generator headroom. The first useful test establishes a…
Allow time to observe the mechanism being tested, such as scaling, cache warm-up, queue recovery, or memory growth. Separate ramp, measurement, and recovery periods in the report. A short CI check and a long soak test answer different questions. Choose duration from observed behavior and sample…
Use the service’s agreed requirements for critical operations and evaluate percentiles and errors over a defined measurement window. Include correctness and achieved workload, not just a global average. Set explicit runner failure criteria and test them with a deliberate defect. Example thresholds…
Kubernetes and observability ·
Test resilience with defined dependency faults, observable degraded behavior, stop conditions, and recovery criteria alongside representative load.
Resilience testing is a type of software testing where a system is tested against simulated adverse conditions. Resilience testing focuses on testing the software against common issues like hardware or system failures, network interruptions, or high traffic loads. Resilience testing can help test…
Chaos testing, sometimes referred to as chaos engineering, is a method of resilience testing that intentionally introduces faults and unpredictability into the system. Chaos testing aims to identify weaknesses or vulnerabilities in a system that may not have surfaced during regular testing. By…
Tailoring your resilience strategies to your specific user experience and business requirements is critical. An e-commerce app might prioritize maintaining its payment systems over its recommendation engine during a fault. However, a social media application might prioritize user feeds over direct…
Resilience testing works by causing controlled chaos in a very controllable environment. In essence, you are trying to systematically subject the service or system to conditions that would impact its operation in a way that doesn’t affect the actual operations of the service. Providers typically…
Resilience testing provides evidence for a defined failure and recovery scenario. Use steady-state metrics and stop conditions so the experiment has a measurable boundary. Representative requests help exercise the application, but neither a passing experiment nor a historic outage anecdote proves…
Load testing measures behavior under a chosen demand pattern. Resilience testing examines what happens during a defined disruption and recovery, such as a delayed dependency or unavailable service. They can be combined by injecting a fault while maintaining representative traffic. State the…
Start with failures relevant to the caller: timeouts, added latency, rejected requests, selected error responses, or unavailable connections. Verify that the chosen mechanism produces the intended fault. A delayed mock response does not reproduce packet loss or a node outage. Scope one experiment,…
Specify which user operations must remain available, which can fail clearly or use a fallback, and how quickly normal service must recover. Check correctness, latency, errors, queued work, and duplicate side effects against those expectations. Preserve observations during the fault and after…
API mocking ·
Use service virtualization to replace selected dependencies. Keep fixtures current, define state behavior, and retain real-provider integration checks.
Service virtualization is a critical tool for solving the intrinsic problems of testing a production system. Testing the actual services for faults or issues means invoking those problems, and as such, it has a necessary impact on the production services themselves, by virtualizing those systems,…
Version the fixture, matching rules, and intended provider contract alongside the tests. Review changes when the provider or caller changes, and periodically verify representative interactions against a real test instance. Refresh recorded cases deliberately instead of automatically accepting new…
Yes. Build explicit examples from an agreed contract or generate a starting fixture from a supported specification. Review request values, response content, and error cases with the owning team. Generated responses represent assumptions until verified against the provider. Keep the specification…
It does not establish the real provider’s availability, capacity, authorization decisions, or persistent state. The caller may handle a recorded response correctly while the provider rejects the request or stores different data. Keep real-provider checks for those boundaries and inspect unmatched…
Traffic capture and replay ·
Production traffic can often be unpredictable, and distinguishing genuine user interactions from mere noise becomes a pivotal step in comprehensively.
Simply put, shadow traffic refers to web traffic that standard analytics tools fail to accurately capture, analyze, or record. This traffic can arise for a variety of reasons, but ultimately they reflect a dark data source which is ill-defined and hard to surface - hence the term “shadow-sm”.…
Effective management of shadow traffic involves proactive measures and continuous monitoring. You can help manage shadow traffic by implementing solutions such as server-side tracking, which shift tracking responsibilities from the client-side to the server-side. You can also deploy firewall and…
Traffic capture and replay ·
Ensuring seamless data flow and robust application performance is crucial in modern networking and cloud computing.
Traffic mirroring sounds straightforward—it involves capturing network traffic and replicating it to another location. In local networking, this is often called port mirroring or a network tap, but in web applications, this is commonly referred to as traffic capture and replay. While the process is…
Performance testing ·
Test growing data volume independently from concurrency. Prepare representative datasets, reset state, and inspect query plans and resource limits.
Volume testing , also known as flood testing , examines the stability and response time of a system by transferring huge volumes of data, and evaluates a variety of different system components like databases, software, etc. This type of software testing is a critical part of avoiding issues under…
Your volume testing checklist must be created in detail, and should represent the live environment conditions as closely as possible. To achieve this, your test cases should cover all the use scenarios and data needed to accurately simulate production conditions, including the real-life data your…
Yes. Hold the request pattern and concurrency fixed while increasing database rows, payload sizes, retained history, or another defined data dimension. A larger dataset can change query plans and cache behavior even at the same request rate. Vary one dimension deliberately and report dataset size…
Choose reviewed synthetic or sanitized data with relevant distributions, relationships, and indexes. Load it into a disposable test database, update statistics where needed, and save the starting configuration. Restore or recreate that database between comparable runs. Replaying recorded requests…
Look for changing query plans, growing disk or memory use, I/O waits, queue growth, timeouts, and incorrect or incomplete results as the dataset increases. Compare per-operation latency and completed work with the same load. A slower run suggests a limit to investigate; resource and database…
API mocking ·
Keploy's Speedscale comparison gets the architecture wrong. Check its claims against the docs for eBPF capture, TLS, automatic mocks, and local testing.
No application SDK import is required for the documented capture workflows. Kubernetes uses an external collector, while supported JVM capture adds a Java agent through deployment configuration. Local proxymock uses a configured proxy. These options still require installation, permissions, and…
No. proxymock runs locally and stores recorded exchanges in files that can supply tests and mocks. Configure the actual client’s proxy or mapped connection and TLS trust when required. Check activation and license requirements during installation. Local proxy capture is a different mechanism from…
Install the operator and node collector, satisfy kernel, BTF, host-access, and capability requirements, then select the workloads to observe. Check TLS compatibility separately, including Java-agent rollout requirements. Inspect both inbound and outbound traffic, and monitor capture drops.…
API mocking ·
Part 1 of Getting Started with Mocks: the one job a mock does, the five situations where you need one, and what a green mocked test does not prove.
AI development ·
We recorded Warp traffic to see what gets sent back to the home base. Spoiler: It's everything.
Yes. Every command you run, along with its output, exit code, working directory, and shell details, is sent to Warp’s /analytics/block endpoint and associated with your account. Warp applies secret redaction, but credential patterns in shell output are too varied to catch reliably, so vendor trust…
A protobuf request to /ai/multi-agent or /ai/passive-suggestions that includes your prompt, your entire AGENTS.md file, and every skill definition in ~/.claude/skills/ with full file paths. Our capture included 24+ skills covering internal infrastructure tools. This happens on AI autocomplete too,…
Routing is server-side and doesn’t always match the model you pick in the UI. One conversation in our test used GPT-5.2 and GLM 5, a model from Zhipu AI in China. The catalog has about 25 models from four providers, and the client never contacts OpenAI or Anthropic directly. Everything routes…
Its core API calls bypass the HTTP_PROXY variable, so tools like Charles, Proxyman, and proxymock don’t see them. It uses rustls with NoKeyLog, which disables SSLKEYLOGFILE so raw packet captures can’t be decrypted, and the AI endpoints use protobuf instead of JSON. We got in with transparent TLS…
API mocking ·
Part 9 of Getting Started with Mocks: a decision framework for stubs, fakes, fake servers, mock servers, record-and-replay, and real dependencies.
Traffic capture and replay ·
Observability tells you what failed—but not how to recreate it. Why reproducibility is the missing fourth pillar, and what that means for incident response.
AI development ·
A second run of our AI bug-fixing benchmark shows where captured traffic lifts agents toward 90%, why service maps barely help, and which bugs still fail.
The ones whose truth is in the request or response. In my benchmark, race and write-path bugs went from 22% to 89% with traffic, state-machine transitions from 72% to 92%, streaming and multipart framing from 52% to 85%, and cross-service contract drift from 44% to 81%. Bugs that live on the wire…
A little, but far less than payloads. Testing four ways (alert alone, alert plus service map, alert plus traffic, alert plus both), the map alone added 6 percentage points while traffic added 28, and traffic still added more than 20 on top of the map. The failing request carries the broken field…
Deep framework internals, where the fix hides in a buffer or state machine that no request ever touches. Those went from 75% to 79%, essentially flat, while wire-level bugs climbed toward 90%. Traffic is the tiebreaker when the bug’s truth is in the request or response, and dead weight when it…
Close to free. The full second run, including the four-way test, was about 18,000 model calls for roughly $118, and 94% of the input tokens were cached because the codebase repeats across every run. Bolting a few captures onto each prompt adds little on top of that. 100 bugs in a private…
AI development ·
SaaS AI fails when agents need continuous access to your codebase and internal APIs. Here's why BYOC is the only deployment model that works at scale.
AI development ·
LLMs have collapsed the cost of custom internal tools. Here's the startup distribution problem I've watched kill companies — and how I vibe-coded my way out.
AI development ·
OpenClaw is the new model for AI agents in the enterprise. Here's why it's a security nightmare and who's building the governed version.
Every major platform vendor is racing to build what they’re calling the governed version of OpenClaw. The market is projected to grow from $7.84B to $52.62B by 2030 at a 46.3% CAGR. Gartner predicts 40% of enterprise apps will have embedded AI agents by end of 2026, up from less than 5% in 2025.…
API mocking ·
A 2026 take on WireMock alternatives. Keep WireMock for what it's good at; add Microcks (now CNCF Incubating) or proxymock for the gaps. The honest map.
Yes. Keep the mappings and tests that already cover useful scenarios, and add recorded-traffic tests where they solve a specific gap. WireMock itself supports HTTP recording and playback, so recording does not automatically require replacing it. Treat moving fixtures between tools as a migration to…
Use recordings when the hard part is maintaining realistic request and response examples from an existing dependency. Use explicit stubs when you need a precise edge case or an API does not exist yet. Recorded fixtures can also become stale or preserve an existing bug, so review them and refresh…
For PostgreSQL or MySQL wire-protocol mocking, evaluate proxymock with the actual database driver and query sequence. For gRPC, WireMock has an extension, and proxymock has a recording and proto-based workflow. Check unary versus streaming behavior separately; support for an HTTP request or a gRPC…
API mocking ·
Compare HTTP stubs, request verification, and recorded dependency mocks. Choose WireMock, MockServer, or proxymock for your Java API tests.
Both support HTTP request matching, configured responses, and request verification. Compare their APIs and lifecycle integration against the expectations your tests need.
Yes. WireMock supports record and playback. Captured fixtures still need review and updates when the real dependency contract changes.
Use proxymock when you need recorded dependency responses or want to replay inbound traffic against a code change. Follow the setup requirements for each protocol and client.
Migrate incrementally: keep targeted WireMock tests and record one representative integration flow with proxymock. Compare the results before expanding coverage. A recording is not a one-to-one translation of WireMock matchers and verification assertions.
Yes. Follow the Java and protocol-specific setup instructions, including any client proxy or port-mapping configuration. Capture a representative flow and confirm its downstream calls appear in the recording before relying on the mocks.
Configure redaction rules, inspect tokens and personal data, and review recordings before sharing them. A traffic recording does not by itself establish privacy or compliance.
Testcontainers starts real dependencies in containers. API mocks supply controlled dependency responses. Use a real database container for database behavior and an HTTP mock for a payment timeout when those are the requirements you need to test.
AI development ·
I tested 100 bugs across 240 microservices the model has never seen. Alert only: 51% pass rate, wrong service 34% of the time. Traffic captures: 77%.
Not very, on their own. The best agents fix about 50% of real bugs on SWE-bench verified, and in my own benchmark on a codebase the model had never seen, an agent working from a monitoring alert passed 51% of the tests. AI-generated code also tends to produce more issues than human-written code, so…
Yes, substantially, when the bug shows up on the wire. Handing the agent the captured request and response for the failing call raised the pass rate from 51% to 77% in my test, a 26 percentage point jump with non-overlapping confidence intervals.
With only an alert, the agent has to guess which of hundreds of services is broken and greps for vague keywords like latency or error rate that match half the codebase. In my 240-service test it edited the wrong service 34% of the time. Captured traffic names the specific endpoint and field, which…
When the real fix is below the HTTP boundary. On 11 bugs the captures gave the agent a confident theory that pointed at the symptom but the wrong layer, like an exception base class or a race condition in internal state that never appears in the trace. There it was faster, more decisive, and wrong.…
API mocking ·
Part 2 of Getting Started with Mocks: a test you cannot write, one seam, and the smallest mock that makes a delayed package happen. Java, Node, Go, Python.
API testing ·
Most flaky test fixes focus on retries and quarantine. The real fix is replacing hand-written test data with recorded traffic that stays fresh.
QABot uses structural analysis, not guesswork. It identifies JWTs by their three-part base64 structure and checks for exp/iat claims. It finds timestamps by matching ISO 8601, RFC 2822, and Unix timestamp patterns. It traces ID propagation by matching values that appear in a response and then…
The generated transforms are saved as YAML files in your repo. You can inspect and edit them. If QABot incorrectly identifies a static value as dynamic (or misses a dynamic one), you adjust the YAML and commit the change. Over time, QABot’s detection improves as it sees more recordings from your…
Yes. If you already have WireMock stubs for contract tests or specific fault injection scenarios, keep them. Use proxymock + QABot for integration and regression tests where you need realistic data across many dependencies. The two approaches complement each other. See our WireMock vs MockServer vs…
QABot is in beta as part of the Speedscale Cloud platform. The proxymock CLI is free for recording and replaying traffic locally. QABot’s analysis and recommendations live in the Speedscale dashboard. You push your local recordings with proxymock cloud push snapshot, review the recommendations in…
API mocking ·
Part 8 of Getting Started with Mocks: the carrier renames a field, production breaks, and every mocked test still passes. Java, Node, Go, Python.
Kubernetes and observability ·
Observability tells you when production is on fire. Capturing and replaying real traffic lets you recreate the incident, verify the fix, and keep it fixed.
AI development ·
How to get a first regression test for a service or endpoint with no recorded traffic: let your coding agent pick a source, then record it.
Performance testing ·
The Zero Trust model has fundamentally shifted how organizations secure their applications and infrastructure.
While older approaches to the internal network viewed these sources as relatively trustworthy, the rise of internal attacks, privilege escalation, and data breaches led many organizations to seek an alternative trust approach and model. The Zero Trust approach was the result - a view of systems…