iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
You can profile a deployed Cloudflare Worker while it serves normal users by capturing a CPU or heap profile from a recently active, already-loaded isolate. The production profiler does not invoke the Worker, replay old requests, or generate test traffic; your selected version or Durable Object must already be receiving representative requests. Use a CPU profile to find functions consuming processor time, or a heap profile to find allocation sites. Because a heap profile measures allocations rather than retained objects, investigate suspected leaks with a local DevTools heap snapshot as well. The safest workflow is to enable source maps, select the exact deployed version or Durable Object instance, keep representative traffic flowing, capture for 1,000–50,000 milliseconds, and then compare the profile with metrics, logs, traces, and deployment markers.
What does Cloudflare’s production profiler actually capture?
Production profiling attaches to an isolate that is already loaded and has executed recently. It samples activity during the chosen interval; it does not start a request, replay historical requests, or use the dashboard’s log filters to manufacture a workload. Consequently, a capture with no matching traffic can contain little or no useful data even though the Worker is deployed.
The feature supports both Workers and Durable Objects. For a Worker, target a specific deployed version. For a Durable Object, target the owning Worker, namespace, and actor (instance). “Latest” in the command-line interface and API means the most recently created version, not necessarily the version currently serving production. If someone uploaded a newer version without deploying it, select the deployed version UUID instead.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesCloudflare describes production observability as essential because “Production Workers without observability are a black box.” Read the Workers Best Practices documentation for the broader logging, tracing, and monitoring guidance.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
Which profile should I use: CPU or heap?
Choose the profile according to the question you need answered. CPU profiling identifies where processor time is spent; heap profiling identifies where memory is being allocated during the capture.
| Profile | Answers | What it records | What it cannot prove |
|---|---|---|---|
| CPU | Which functions consume CPU time? | Sampled call stacks weighted by CPU activity during the interval. | It does not explain time spent waiting on network operations. Cloudflare’s limits documentation says waits such as fetch, KV reads, and database queries do not count toward CPU time. |
| Heap | Which code paths allocate memory? | A stack trace for every 512 kB allocated during the capture. | It does not show whether those allocations remain live, so it cannot by itself establish a memory leak or retained-object growth. |
| Local DevTools memory snapshot | Which objects remain retained in a reproducible local run? | A snapshot that summarizes memory and exposes specific retained objects. | It may not reproduce production traffic, bindings, data shape, or isolate behavior exactly. |
The 512 kB sampling interval and the distinction between allocation and retention are documented in Cloudflare’s production profiling guide. The local snapshot workflow is described in Profiling Memory with Wrangler DevTools.
How do I prepare a representative, readable capture?
Preparation determines whether the resulting profile points to your source code or to minified bundles and whether it represents the route you are investigating.
Free tools Windows power users keep installed
One-click scans. No signup required.
1. Write down the question and target
- For high latency caused by JavaScript execution, choose CPU and identify the route, Worker version, or Durable Object actor involved.
- For rising isolate memory or suspected churn, choose heap and identify the traffic path that creates the allocations.
- Record the exact deployed version UUID. Do not rely on “latest” unless you have confirmed that the newest created version is also the deployed one.
- For a Durable Object, record the namespace ID and actor ID in addition to its owning Worker.
2. Make source maps available
Readable frames require source maps. Cloudflare says Wrangler uploads source maps by default beginning with Wrangler 4.150.0. With an older Wrangler release, set upload_source_maps = true in the Wrangler configuration and deploy again before capturing. A profile taken before the corrected deployment will still contain the old, less-readable mapping.
3. Confirm the target is active
Send ordinary or representative requests to the selected version or Durable Object instance before and during the capture. Exercise the route and data shape associated with the problem rather than a health check that bypasses the expensive code. Profiling attaches to a recently active isolate, so an idle or unloaded target is a common reason for an empty result.
4. Choose a bounded interval
The documented duration range is 1,000 to 50,000 milliseconds, with a dashboard default of 10,000 milliseconds. Use a longer window when the expensive path is rare, but keep the traffic representative throughout the interval. A short capture can be useful for a consistently hot route and produces less data to inspect.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
How do I capture a profile in the Cloudflare dashboard?
The dashboard is the quickest way to inspect a flamegraph interactively.
- Open Workers & Pages and select the Worker.
- Open Observability, then choose Flamegraph.
- Select CPU or Heap.
- Choose a duration from 1,000–50,000 ms; 10,000 ms is the documented default.
- Select the exact deployed version and start the capture while representative requests are arriving.
- For a Durable Object, select its namespace and target instance before opening Observability, then start the capture.
The capture does not invoke the Worker for you. Keep the workload running until the interval ends, then inspect the returned flamegraph. Dashboard prerequisites, version selection, and the Durable Object flow are covered in Cloudflare’s production profiling documentation.
How do I capture a profile with the Cloudflare CLI?
Use the CLI when you want a repeatable command-line workflow or need the raw profile for another pprof-compatible tool.
- Check the available flags with
cf workers versions profile --help. - Provide the Worker ID and the version identifier. Select
--profile-type cpuor--profile-type heap. - Set
--duration-msto a value between 1,000 and 50,000. - For a Durable Object, target its owning Worker and pass both the namespace ID and actor ID.
- Generate representative traffic during the interval and save the command output as a binary file for later inspection.
CLI output is raw binary pprof data, not an HTML report. Open it with a pprof-compatible viewer or another tool that understands the format. Keep the version identifier in the filename so that a later comparison cannot accidentally mix deployments. The complete option list and target syntax are maintained in the production profiling guide.
How do I request a profile through the API?
The API is useful for scheduled diagnostics, incident tooling, or a deployment pipeline that records profiles alongside release metadata. Send a POST request to the account/Worker version profile endpoint documented by Cloudflare and include duration_ms. The profile_type field defaults to cpu; set it explicitly to heap when investigating allocations.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallFor a Durable Object request, include both namespace_id and actor_id as required by the endpoint. The response is gzip-compressed pprof data. Authenticate with a token that has the documented Workers Scripts Read permission, or with the Content Read-Only Workers role. Do not put credentials in scripts checked into a repository; use your deployment system’s secret store.
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
API calls are rate limited. When the service returns HTTP 429, wait and honor a supplied Retry-After header before trying again. Endpoint fields, permissions, and response details are listed in Cloudflare’s production profiling reference.
How should I read the flamegraph?
In the dashboard, frame width represents the amount of CPU time in a CPU profile or allocated memory in a heap profile. Horizontal position is not a timeline, so a frame appearing farther to the right did not necessarily run later.
Self versus Total
- Self attributes activity to the selected frame while excluding its descendants. A wide self portion points to work performed directly in that function.
- Total includes the frame and all descendants. A wrapper can have a small self value but a large total value because it calls an expensive parser, serializer, or application function.
When you focus on a subtree, the percentages remain relative to the complete capture, not just the visible subtree. This prevents a small selection from appearing to represent the entire Worker. Use source-mapped names to move from a hot frame to the corresponding file and line, then confirm the route and input that exercised it.
Profiles downloaded through the dashboard, CLI, or API can be examined with pprof-compatible tools. The production capture guide explains the format and the dashboard’s interaction model.
Does a production heap profile show retained memory?
No. Cloudflare’s production heap profile samples allocation stacks, including one stack trace every 512 kB allocated during the capture. It tells you which code paths are creating memory, not whether that memory remains reachable after a request finishes.
Use a local DevTools heap snapshot when the question is retention: for example, whether a global cache, closure, listener, or collection keeps objects alive across requests. Compare snapshots around a controlled reproduction and inspect the retaining paths. A local result is evidence about that reproduction only; production bindings, traffic concurrency, payload sizes, and data distributions can differ.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
This distinction is documented in Cloudflare’s memory-profiling guide and the production profiling guide.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →How can I profile CPU locally with Wrangler DevTools?
Local profiling is appropriate when you need to trigger a deterministic request sequence or inspect code before deploying a fix.
- Run
wrangler dev. - Press
Dto open DevTools, then select Profiler. - Start recording.
- Send requests that reproduce the route, payload, and concurrency pattern of interest.
- Stop recording and inspect the CPU flamegraph.
Cloudflare cautions that local requests may not reproduce production behavior. Use representative routes and volume, production-like data, and remote bindings where appropriate. Local CPU instructions are in Profiling CPU usage with Wrangler DevTools.
How do metrics, logs, and traces validate a profile?
A profile is a narrow sample of one active isolate. Historical metrics and request context tell you whether the sampled behavior is typical, newly introduced, or limited to one instance.
- CPU metrics: Workers metrics expose CPU-time quantiles per execution. Compare a profile’s hot functions with the p50, p90, or p99 trend around the incident.
- Memory metrics: Memory percentiles measure isolate memory at invocation time. One isolate can serve concurrent requests, so that memory is shared by those requests rather than assigned independently to each invocation.
- Deployment markers: Mark the release that changed CPU or memory behavior. A step change aligned with a deployment is stronger evidence than a profile captured during an unexplained traffic spike.
- Logs and traces: Enable them before an incident when possible. Cloudflare documents head-based sampling as a way to reduce log volume while preserving useful request context.
Cloudflare states that each V8 isolate has a 128 MB memory limit. Its limits page also gives context figures of approximately 2.2 ms average CPU per request for Workers overall and typically 10–20 ms for heavier workloads such as authentication, server-side rendering, or parsing large payloads. Those are Cloudflare-published context figures, not targets or guarantees for an individual Worker, and plan limits can change. Check the current metrics documentation, limits documentation, and Workers Logs documentation when interpreting a result.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →What are the production-capture limits and failure modes?
| Symptom | Likely cause | Recovery |
|---|---|---|
| No recent executions or no loaded isolate | The selected version or actor is idle, or traffic is reaching another deployment. | Confirm the deployed version UUID, send representative requests to that target, keep them flowing during capture, and retry. |
| Profiling unavailable or runtime profiling unsupported | The selected environment or Worker does not support the runtime capture. | Check the target’s runtime support in Cloudflare’s production profiling documentation; use local DevTools for a reproducible investigation where appropriate. |
| HTTP 429 from the API | Profiling requests exceeded the service’s rate limit. | Back off, follow Retry-After when present, and avoid parallel capture loops. |
| Empty or unhelpful flamegraph | The interval was too short, traffic did not exercise the route, or source maps were unavailable. | Use a longer permitted interval, generate representative traffic, and deploy with source-map upload enabled. |
| Memory rises but heap profile points to many short-lived allocations | Allocation churn is not the same as retention; the isolate may be collecting objects later. | Reproduce locally and compare DevTools snapshots to identify objects that remain reachable. |
The documented capture window is 1,000–50,000 ms. A profile is also subject to runtime support and rate limits, so treat a failed capture as a bounded diagnostic failure rather than evidence that the code path is healthy.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
What is the least-disruptive investigation workflow?
- Define one hypothesis. Decide whether you are looking for CPU-heavy functions, allocation sites, or retained objects.
- Pin the target. Select the deployed Worker version or the exact Durable Object namespace and actor; verify that it is serving the traffic you intend to study.
- Verify symbolication. Confirm source-map upload, using Wrangler 4.150.0 or newer by Cloudflare’s documented default, or enable it explicitly on older releases.
- Warm the path. Send normal, representative requests before and during the capture. Do not assume the profiler will create activity.
- Capture once. Choose CPU or heap and a duration within 1,000–50,000 ms. Avoid repeated parallel API calls that can hit rate limits.
- Inspect the right field. Use Self for direct work and Total for downstream cost; in heap profiles, treat wide allocation frames as churn signals rather than leak proof.
- Correlate. Compare CPU and memory percentiles, logs, traces, and deployment markers for the same period.
- Reproduce locally when needed. Use Wrangler DevTools CPU recording or memory snapshots to test a suspected function and inspect retained objects before changing production code.
- Document the context. Save the version UUID, capture duration, profile type, route, traffic shape, and relevant release marker with the profile file.
This process observes an already-running Worker instead of injecting synthetic requests. It minimizes operational disturbance while preserving the distinction between what a production sample demonstrates and what requires local reproduction.
How do CPU, heap, and local snapshot investigations differ?
| Dimension | Production CPU | Production heap | Local DevTools |
|---|---|---|---|
| Target | Deployed, active isolate | Deployed, active isolate | Local Wrangler reproduction |
| Primary question | Where is CPU time spent? | Where is memory allocated? | Which code consumes CPU locally or retains objects? |
| Traffic requirement | Real traffic during capture | Real traffic during capture | You generate the requests |
| Capture path | Dashboard, CLI, or API | Dashboard, CLI, or API | wrangler dev and DevTools |
| Key limitation | Short, sampled view of one active target | Allocation is not retention | Production behavior may not be reproducible locally |
Use these tools together rather than treating one as a universal memory or performance answer. Production profiles show what happened in a live deployment; local tools let you control the experiment and examine details that production sampling does not retain.
Frequently Asked Questions
Can I profile a Worker version that is not receiving requests?
Not reliably. The production profiler attaches to a recently active, loaded isolate, so an undeployed or idle version can produce no useful capture. Route representative requests to the exact version or Durable Object actor first.
Will the dashboard’s log time range determine what the profiler captures?
No. Log ranges and filters help you inspect observability data, but they do not control the profiler’s workload. The selected target must receive traffic during the capture interval.
How do I know whether a CPU spike comes from JavaScript or waiting on a service?
Compare the CPU profile with request traces and dependency timings. Cloudflare excludes network waits such as fetches, KV reads, and database queries from CPU time, so a slow request can have a modest CPU profile when it spends most of its time waiting.
Should I capture CPU and heap profiles at the same time?
Treat them as separate questions and captures. Start with the profile that matches the symptom, then repeat under a comparable traffic pattern if you need to connect CPU work with allocation churn.
What should I archive with a downloaded pprof file?
Keep the profile type, duration, UTC capture time, deployed version UUID, route or actor, source-map deployment, and traffic conditions beside the file. Those details make a later comparison meaningful when versions or workloads change.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

