What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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

Instrument an AI agent as a trace for one meaningful turn or workflow, then record child spans for every model generation, tool execution, handoff, retrieval step, and important application operation. Each span should include the relevant input and output, start and end times, duration, status, and error details. Use your framework’s native tracing when it covers the whole run; use OpenTelemetry when you need to export the same telemetry to an existing observability backend.

Keep credentials on the server, treat prompts and tool data as sensitive, and verify the exported record with both a successful and a failed run. A trace that shows only a provider request, or that omits the final outcome, cannot explain what the agent actually did.

What an agent trace should contain

A useful trace answers four questions: what the agent was asked to do, which reasoning or generation steps occurred, which tools and delegated agents ran, and what outcome was returned. The trace is the top-level record for one user turn, task, or workflow. Its child spans preserve the order and parent-child relationships of the work performed inside that boundary.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

OpenAI’s tracing model distinguishes a session, which can contain multiple turns, from a trace representing the steps within one turn. Use a stable run or session identifier in your application so engineers can find a turn without confusing it with earlier or later turns. See the OpenAI tracing guide for the documented trace and span concepts.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • 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.

Recommended span types

  • Generation spans: the model identifier, input messages or prompt, generated output, timing, status, and any usage fields your provider returns.
  • Tool spans: the requested tool, arguments, available result, start and end times, status, and error information.
  • Handoff spans: the source agent, destination agent, handoff input, and the destination result or failure.
  • Retrieval spans: the query, retriever or index name, returned documents or references where policy allows, and retrieval errors.
  • Application spans: authentication, approval checks, database writes, queue operations, or other steps that affect the result but are not performed by the model provider.
  • Guardrail and custom-event spans: policy checks, human approvals, retries, cancellations, and domain-specific events.

The OpenAI Agents SDK describes built-in tracing that records LLM generations, tool calls, handoffs, guardrails, and custom events during an agent run (Tracing – OpenAI Agents SDK). If your framework does not emit an event type you need, create an application-owned span at that boundary.

Fields that make a span diagnostically useful

Field Why it matters Typical examples
Trace ID and parent span ID Reconstructs the workflow and preserves ordering. One root trace; nested generation and tool spans.
Operation and component Shows what kind of work occurred. Generation, tool, handoff, retrieval, approval.
Agent or workflow name Separates different orchestration paths. Support agent, billing workflow, document assistant.
Model identifier Explains behavior changes between model versions. The exact provider model string used for that call.
Input and output Allows an engineer to compare instructions with the result. Messages, generated text, structured output.
Tool name and arguments Shows what the model requested and with which parameters. Tool name, serialized argument object.
Tool result Shows what information the agent received. Returned records, status, or a result reference.
Start time, end time, and duration Identifies slow operations and timeout patterns. Wall-clock timestamps and elapsed milliseconds.
Status and error Distinguishes success, cancellation, timeout, and failure. Status code or enum, exception type, safe error message.
Usage fields Can support cost and capacity analysis when complete. Provider-reported token or request usage.

Do not treat a missing usage value as zero. OpenAI notes that usage can be null or can change after a turn is completed, so retain the field as unknown when the provider has not supplied a value (OpenAI observability and usage).

Choose the tracing path that fits your stack

Start with native tracing if the agent framework already captures orchestration, generations, tools, handoffs, guardrails, and failures in one trace. Add a processor or replace the default processor when the framework supports exporting those spans to a different backend. The OpenAI Agents SDK documents both a trace provider and processors for this purpose (OpenAI Agents SDK tracing).

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose an OpenTelemetry path when you need a common telemetry pipeline, an existing collector, or a destination that is independent of the agent framework. Initialize the telemetry SDK before the application code you want to observe, then register a span processor and exporter. Langfuse documents OpenTelemetry setup and integrations for OpenAI, the Vercel AI SDK, and LangChain in its LLM tracing setup guide. Amazon Web Services documents GenAI semantic-convention attributes and OpenTelemetry-based AI observability for Amazon OpenSearch Service (AI observability – Amazon OpenSearch Service).

Decision axis Framework-native tracing OpenTelemetry-based collection
Coverage Usually strongest for events the framework creates, such as agent turns, generations, tools, handoffs, and guardrails. Can cover model calls and application-owned operations when you create spans at each boundary.
Interoperability Depends on the framework’s processors and supported exporters. Designed to feed a collector or another compatible telemetry backend.
Data controls Use the framework’s processors and exporter behavior; verify ordering and failure handling. Apply redaction and access controls in the SDK, collector, exporter, and storage layers.
Initialization Enable the provider before the first agent run. Initialize the telemetry SDK before application logic that must be observed.
Cost visibility Uses whatever usage fields the framework/provider records. Requires propagating usage attributes from each relevant model or subagent call.

Neither path automatically sees every application-side operation. A provider-level model trace may show that the model requested a function without showing the database query, authorization decision, or actual tool result. Instrument the tool boundary in your own application when the framework does not do so.

Step-by-step implementation

1. Define a trace boundary

Choose a boundary an engineer can locate later: a user turn, a ticket-processing job, a scheduled workflow, or a complete delegated task. Generate or accept a stable run identifier, and carry it through requests, queues, tool handlers, and subagents. Keep separate turns as separate traces while linking them to a session when your framework supports that relationship.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • 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

Define the root metadata before invoking the agent. Useful attributes include the workflow name, environment, tenant or customer reference (prefer a non-sensitive internal ID), application version, and the initiating request ID. Never put an API key, password, access token, or raw authentication header in trace attributes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Start tracing before agent code runs

Initialize native tracing or the OpenTelemetry SDK during application startup, before the first agent invocation. Register the exporter or processor at that point so early generations and tool calls are not silently missed. In a multi-process deployment, apply the same initialization in every worker that can execute an agent.

A language-neutral setup looks like this:

initialize_telemetry(provider, resource_attributes)
register_span_processor(exporter)

trace = start_trace(name="support_turn", run_id=request_id)
try:
    result = run_agent(trace=trace, user_input=input_text)
    set_trace_status(trace, "success")
finally:
    end_trace(trace)

The function names above illustrate the sequence, not a drop-in library API. Use the equivalent initialization, span, and shutdown calls provided by your framework or OpenTelemetry implementation.

3. Create spans for every meaningful operation

Wrap each model generation, tool invocation, handoff, retrieval call, and material application step in a child span. Set the parent span explicitly when work moves to a queue or another service; otherwise the backend may display unrelated traces instead of one workflow.

with span("generation", parent=trace) as generation:
    generation.attributes["model"] = model_id
    generation.attributes["input"] = redact(prompt)
    output = model.generate(prompt)
    generation.attributes["output"] = redact(output)
    generation.status = "success"

with span("tool", parent=trace) as tool_span:
    tool_span.attributes["tool.name"] = "lookup_order"
    tool_span.attributes["tool.arguments"] = redact(arguments)
    try:
        value = lookup_order(arguments)
        tool_span.attributes["tool.result"] = redact(value)
        tool_span.status = "success"
    except Exception as error:
        tool_span.status = "error"
        tool_span.attributes["error.type"] = type(error).__name__
        tool_span.attributes["error.message"] = safe_message(error)
        raise

Record the original event time as close to the operation as possible. For asynchronous tools, keep the span open until the result or timeout arrives, or create a linked child span that clearly identifies the queued and completed portions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

4. Capture prompts and model outputs deliberately

Generation spans should contain the input and output needed to explain the decision, subject to your retention policy. Preserve structured messages as structured data when your backend supports it; otherwise serialize them consistently so roles, tool instructions, and user content remain distinguishable.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【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.

Capture the model identifier, temperature or other behavior-changing settings when they are relevant to debugging, and provider request IDs when available. Do not assume that a prompt stored by a provider includes your system’s pre-processing, retrieval context, or post-processing. If those stages affect the answer, add application spans for them.

5. Capture tool requests and actual results

A tool span should identify the requested tool, the arguments accepted by your application, the returned result or a safe reference to it, and the final status. Record validation failures, authorization denials, timeouts, retries, and upstream errors as explicit outcomes rather than as an absent result.

For large or sensitive results, store a hash, object identifier, row count, or redacted summary instead of the full payload. The span must still make clear whether the tool returned data, returned an empty result, or failed before producing one.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

6. Represent handoffs and delegated work

When one agent delegates to another, create a handoff span under the originating trace and start the delegated agent’s spans beneath it or as a linked trace with a shared correlation ID. Record the source and destination agent names, handoff input, completion status, and returned result. This prevents a subagent’s model calls from appearing as unexplained standalone activity.

7. Export through the selected backend

Native tracing can send spans through its configured processor or exporter. With OpenTelemetry, register the exporter and ensure the process flushes pending spans during graceful shutdown. For short-lived jobs and serverless handlers, explicitly flush or shut down the provider before the runtime exits; otherwise the operation may finish successfully while its trace never reaches storage.

Inspect the receiving backend, not only local logs. Confirm that trace IDs, parent relationships, timestamps, inputs, outputs, tool results, and statuses survived serialization and export. If your backend uses sampling, configure a policy that retains failures and enough successful traces to diagnose normal behavior.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【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.

Protect prompts, tool data, and credentials

Prompts, model responses, tool arguments, and tool results may contain personal data, confidential business information, or credentials copied from user content. Decide what you are allowed to retain before enabling payload capture. Separate low-risk operational attributes from high-risk content so you can retain latency and status data even when message bodies must be omitted.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Keep secrets server-side. Langfuse states that its tracing SDKs authenticate with a secret key that must not ship to a browser or mobile application (Python & JS/TS Observability SDKs). Apply the same rule to any telemetry backend credentials.
  • Redact before export. Remove authorization headers, cookies, API keys, passwords, payment data, and unnecessary personal identifiers before a span enters an exporter.
  • Restrict storage access. Use least-privilege roles, encryption, retention limits, and audit logs for trace storage.
  • Make omission explicit. A field intentionally removed by policy should be marked as redacted or omitted, not represented as an empty successful result.
  • Test failure behavior. Verify what happens when redaction throws an exception, the exporter is unavailable, or a batch contains one record that cannot be sanitized.

Processor ordering matters. The OpenAI Agents SDK documentation warns that a separate redaction processor does not necessarily stop another exporter from receiving data if redaction fails. When successful redaction is mandatory, perform redaction and delivery within the same application-owned exporter and discard the batch if redaction fails (OpenAI Agents SDK tracing).

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Validate a completed and failed run

Validation should use real execution paths rather than only checking that an SDK object was created. Run one workflow that completes normally and one that produces a controlled tool or model failure.

  1. Start a trace with a known test run ID.
  2. Exercise a generation and at least one tool call, including a result that the agent uses.
  3. Inspect the trace for the root span, child ordering, model input and output, tool name, arguments, result, timestamps, duration, and success status.
  4. Trigger a timeout, validation error, or unavailable dependency in a safe test environment.
  5. Confirm that the failed span has an error type and useful message, that the root trace is marked failed or incomplete as appropriate, and that no secret leaked into the error payload.
  6. Check the exported backend for the same trace ID and verify that redaction, serialization, and parent-child relationships were preserved.
  7. Repeat after deployment with the production exporter configuration, because sampling, network policy, and shutdown behavior can differ from local development.

Review the final outcome span as carefully as the intermediate calls. Record whether the workflow returned an answer, requested human intervention, was cancelled, or stopped after an unrecoverable error. Without that outcome, latency and tool history cannot tell you whether the user’s task was actually completed.

Troubleshoot missing or misleading traces

The trace contains a model call but no tool result

The framework may trace the provider request while your application executes tools outside its instrumentation. Add a span around the tool handler itself and propagate the current trace context into the handler, queue, or service that performs the work.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Subagent activity appears as unrelated traces

Pass the parent trace or correlation ID through the handoff. For asynchronous delegation, use a linked span or a documented session-to-trace relationship rather than relying on process-local context.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【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.

Spans exist locally but not in the backend

Check exporter authentication, network access, endpoint configuration, sampling, and process shutdown. Short-lived workers often exit before an asynchronous exporter flushes. Inspect backend ingestion errors and compare the exported trace ID with the local run ID.

Failures are present but impossible to diagnose

Set status and error attributes at the span where the failure occurs, then propagate a safe summary to the root trace. Preserve timeout, retry, validation, and cancellation as distinct statuses; collapsing them all into “error” removes the information needed to fix the workflow.

Redacted data still appears in storage

Map every exporter and processor in the pipeline. A redaction step attached to one exporter does not protect another exporter that receives the original span. Consolidate redaction and delivery when policy requires that unsanitized data never leave the process, and test the redaction-failure path.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use trace data for operations without overclaiming

Traces can reveal slow tools, repeated retries, abandoned handoffs, prompt regressions, and failure hotspots. Build dashboards from status, duration, operation type, and model identifiers first. Add usage and cost views only when the provider reports complete data for the calls you are analyzing.

Do not interpret an absent usage field as free usage or zero tokens. A workflow with multiple model calls or subagents may have usage recorded for some spans and not others. Label totals as partial or unavailable when that is what the instrumentation shows, and retain the underlying per-call records so a later provider update can be reconciled.

Finally, treat trace access as production access. The same records that help an engineer reproduce a tool decision may expose a customer request, internal document, or privileged operation. Retention, redaction, authorization, and incident procedures belong in the instrumentation design, not as a later cleanup task.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.