From a3dae07073868cf67bc2384cbeecb90acb517173 Mon Sep 17 00:00:00 2001 From: Alex Hall Date: Tue, 11 Jun 2024 18:44:02 +0200 Subject: [PATCH] New manual tracing docs (#257) --- docs/guides/first_steps/index.md | 17 - .../add_manual_tracing.md | 404 +++++++++--------- .../manual-tracing-attribute-hello-world.png | Bin 0 -> 9833 bytes .../manual-tracing-basic-closed-span.png | Bin 0 -> 8351 bytes docs/images/guide/manual-tracing-basic.png | Bin 0 -> 12326 bytes .../guide/manual-tracing-default-levels.png | Bin 0 -> 18776 bytes .../guide/manual-tracing-explore-basic.png | Bin 0 -> 49540 bytes .../guide/manual-tracing-level-colors.png | Bin 0 -> 9980 bytes .../guide/manual-tracing-span-names.png | Bin 0 -> 26049 bytes .../images/guide/manual-tracing-traceback.png | Bin 0 -> 27753 bytes logfire/_internal/config.py | 3 +- 11 files changed, 207 insertions(+), 217 deletions(-) create mode 100644 docs/images/guide/manual-tracing-attribute-hello-world.png create mode 100644 docs/images/guide/manual-tracing-basic-closed-span.png create mode 100644 docs/images/guide/manual-tracing-basic.png create mode 100644 docs/images/guide/manual-tracing-default-levels.png create mode 100644 docs/images/guide/manual-tracing-explore-basic.png create mode 100644 docs/images/guide/manual-tracing-level-colors.png create mode 100644 docs/images/guide/manual-tracing-span-names.png create mode 100644 docs/images/guide/manual-tracing-traceback.png diff --git a/docs/guides/first_steps/index.md b/docs/guides/first_steps/index.md index bba8f9b24..2926a4b8a 100644 --- a/docs/guides/first_steps/index.md +++ b/docs/guides/first_steps/index.md @@ -2,23 +2,6 @@ This guide will walk you through getting started with **Logfire**. You'll learn how to install Logfire, authenticate your local environment, and use traces and spans to instrument your code for observability. -## OpenTelemetry Concepts - -Before diving in, let's briefly cover two fundamental OpenTelemetry concepts: - -- **Traces:** A trace represents the entire journey of a request or operation as it moves through a - (possibly distributed) system. It's composed of one or more spans. -- **Spans:** A span represents a unit of work within a trace, and are a way to track the execution of your code. - Unlike traditional logs, which contain a message at a single moment in time, spans can be nested to form a tree-like - structure, with a root span representing the overall operation, and child spans representing sub-operations. - Spans are used to measure timing and record metadata about the work being performed. - -In Logfire, we'll frequently visualize traces as a tree of its spans: - -![Example trace screenshot](../../images/logfire-screenshot-first-steps-example-trace.png) - -Using traces and spans, you can gain valuable insights into your system's behavior and performance. - ## Installation {#install} To install the latest version of **Logfire**, run: diff --git a/docs/guides/onboarding_checklist/add_manual_tracing.md b/docs/guides/onboarding_checklist/add_manual_tracing.md index 145135384..f5e502d21 100644 --- a/docs/guides/onboarding_checklist/add_manual_tracing.md +++ b/docs/guides/onboarding_checklist/add_manual_tracing.md @@ -1,291 +1,297 @@ -In the previous sections, we focused on how to integrate **Logfire** with your application and leverage automatic -instrumentation. In this section, we'll go into more detail about manual tracing, which allows you to add custom spans -and logs to your code for targeted data collection. +## Spans, logs, and traces -Because the specifics of where and how to add manual tracing will depend on your particular application, we'll also -spend time discussing the general principles and scenarios where manual tracing can be especially valuable. +Here's a simple example of using Logfire: -## How to Add Manual Tracing +```python +import time -### Using the `@logfire.instrument` Decorator +import logfire -The [`@logfire.instrument`][logfire.Logfire.instrument] decorator is a convenient way to create a span around an entire -function. To use it, simply add the decorator above the function definition: +logfire.configure() -```python -@logfire.instrument() -def my_function(arg1, arg2): - ... +with logfire.span('This is a span'): + time.sleep(1) + logfire.info('This is an info log') + time.sleep(2) ``` -By default, this will add the function arguments to the span as attributes. -To disable this (e.g. if the arguments are large objects not worth collecting), use `instrument(extract_args=False)`. +If you run this it should print something like: -The default span name will be something like `Calling module_name.my_function`. -You can pass an alternative span name as the first argument to `instrument`, and it can even be a template -into which arguments will be formatted, e.g: +``` +Logfire project URL: https://logfire.pydantic.dev/my_username/my_project_name +21:02:55.078 This is a span +21:02:56.084 This is an info log +``` -```python -@logfire.instrument('Applying my_function to {arg1=} and {arg2=}') -def my_function(arg1, arg2): - ... +Opening the project URL should show something like this in the Live view: -my_function(3, 4) -# Logs: Applying my_function to arg1=3 and arg2=4 -``` +![Simple example in Live view](../../images/guide/manual-tracing-basic-closed-span.png) -!!! note +The blue box with `1+` means that the span contains 1 direct child. Clicking on that box expands the span to reveal its children: - - The [`@logfire.instrument`][logfire.Logfire.instrument] decorator MUST be applied first, i.e., UNDER any other decorators. - - The source code of the function MUST be accessible. +![Simple example in Live view with span opened](../../images/guide/manual-tracing-basic.png) + +Note that: + +1. Any spans or logs created inside the `with logfire.span(...):` block will be children of that span. This lets you organize your logs nicely in a structured tree. You can also see this parent-child relationship in the console logs based on the indentation. +2. Spans have a start and an end time, and thus a duration. This span took 3 seconds to complete. +3. For logs, the start and end time are the same, so they don't have a duration. But you can still see in the UI that the log was created 1 second after the span started and 2 seconds before it ended. + +If you click on the 'Explore' link in the top navbar, you can write SQL to explore further, e.g: + +![Query in Explore view: select extract('seconds' from end_timestamp - start_timestamp) as duration, kind, message, trace_id, span_id, parent_span_id from records order by start_timestamp ](../../images/guide/manual-tracing-explore-basic.png) -### Creating Manual Spans +Note: -To create a manual span, use the [`logfire.span`][logfire.Logfire.span] context manager: +1. Spans and logs are stored together in the same `records` table. +2. The `parent_span_id` of the log is the `span_id` of the span. +3. Both have the same `trace_id`. You can click on it to open a new tab in the Live view filtered to that _trace_. + +A _trace_ is a tree of spans/logs sharing the same root. Whenever you create a new span/log when there's no active span, a new trace is created. If it's a span, any descendants of that span will be part of the same trace. To keep your logs organized nicely into traces, it's best to create spans at the top level representing high level operations such as handling web server requests. + +## Attributes + +Spans and logs can have structured data attached to them, e.g: ```python -with logfire.span("Span Name", key1=value1, key2=value2): - # Code block - logfire.info("Log message", key3=value3) +logfire.info('Hello', name='world') ``` -The first argument is the name of the span, and you can optionally provide key-value pairs to include custom data in the -span. +If you click on the 'Hello' log in the Live view, you should see this in the details panel on the right: -### Nesting Spans +![name attribute in Live view](../../images/guide/manual-tracing-attribute-hello-world.png) -You can nest spans to create a hierarchical structure: +This data is stored in the `attributes` column in the `records` table as JSON. You can use e.g. `attributes->>'name' = 'world'` in the SQL filter at the top of the Live view to show only this log. This is used as the `WHERE` clause of a SQL query on the `records` table. + +Both spans and logs can have attributes containing arbitrary values which will be intelligently serialized to JSON as needed. You can pass any keyword arguments to set attributes as long as they don't start with an underscore (`_`). That namespace is reserved for other keyword arguments with logfire-specific meanings. + +Sometimes it's useful to attach an attribute to a span after it's been created but before it's finished. You can do this by calling the `span.set_attribute` method: ```python -with logfire.span("Outer Span"): - # Code block - with logfire.span("Inner Span"): - # Code block - logfire.info("Log message") +with logfire.span('Calculating...') as span: + result = 1 + 2 + span.set_attribute('result', result) ``` -When nesting spans, try to keep the hierarchy clean and meaningful, and use clear and concise names for your spans. - -### Recording Custom Data +## Messages and span names -To record custom data within a span, simply pass key-value pairs when creating the span or when logging messages: +If you run this code: ```python -with logfire.span("User Login", user_id=user_id): - logfire.info("User logged in", user_email=user_email) +import logfire + +logfire.configure() + +for name in ['Alice', 'Bob', 'Carol']: + logfire.info('Hello {name}', name=name) ``` -Consider recording data that will be useful for debugging, monitoring, or analytics purposes. +![Query in Explore view: select span_name, attributes->>'name' as name, message from records order by start_timestamp](../../images/guide/manual-tracing-span-names.png) -### Capturing Exceptions +Here you can see that: -Logfire automatically captures exceptions that bubble up through spans. To ensure that exceptions are properly captured -and associated with the relevant span, make sure to wrap the code that may raise exceptions in a span: +1. The first argument `'Hello {name}'` becomes the value of the `span_name` column. You can use this to find all records coming from the same code even if the messages are different, e.g. with the SQL filter `span_name = 'Hello {name}'`. +2. The span name is also used as a `str.format`-style template which is formatted with the attributes to produce the `message` column. The message is what's shown in the console logs and the Live view. + +You can also set `span.message` after a span is started but before it's finished, e.g: ```python -with logfire.span("Database Query"): - try: - result = db.query(query) - except DatabaseError as e: - logfire.error(f"Database query failed: {str(e)}") - raise +with logfire.span('Calculating...') as span: + result = 1 + 2 + span.message = f'Calculated: {result}' ``` -## When to Use Manual Tracing +You could use `message` to filter for related records, e.g. `message like 'Hello%'`, but filtering on the `span_name` column is more efficient because it's indexed. Similarly, it's better to use `span_name = 'Hello {name}' and attributes->>'name' = 'Alice'` than `message = 'Hello Alice'`. -Now that we've seen how to use manual tracing, let's discuss some scenarios where manual tracing can be particularly -useful in enhancing your application's observability: +To allow efficiently filtering for related records, span names should be _low cardinality_, meaning they shouldn't vary too much. For example, this would be bad: -### Scenario 1: Improving Log Organization and Readability +```python +name = get_username() +logfire.info('Hello ' + name, name=name) +``` -When working with complex functions or code blocks, manually nested spans can help organize your logs into a -hierarchical structure. This makes it easier to navigate and understand the flow of your application, especially during -debugging sessions. +because now the `span_name` column will have a different value for every username. But this would be fine: ```python -import logfire +word = 'Goodbye' if leaving else 'Hello' +logfire.info(word + ' {name}', name=name) +``` +because now the `span_name` column will only have two values (`'Goodbye {name}'` and `'Hello {name}'`) and it's both easier and more efficient to filter on `span_name = 'Hello {name}'` than `span_name = '{word} {name}' and attributes->>'word' = 'Hello'`. -@logfire.instrument("Complex Operation") -def complex_operation(data): - # Step 1 - with logfire.span("Data Preprocessing"): - preprocessed_data = preprocess(data) - logfire.info("Data preprocessed successfully") +You can use the `_span_name` argument when you want the span name to be different from the message template, e.g: - # Step 2 - with logfire.span("Data Analysis"): - analysis_result = analyze(preprocessed_data) - logfire.info("Analysis completed") +```python +logfire.info('Hello {name}', name='world', _span_name='Hello') +``` - # Step 3 - with logfire.span("Result Postprocessing"): - final_result = postprocess(analysis_result) - logfire.info("Result postprocessed") +This will set the `span_name` to `'Hello'` and the `message` to `'Hello world'`. Note that the `_span_name` argument starts with an underscore to distinguish it from attributes. - return final_result +## f-strings + +Instead of this: + +```python +logfire.info('Hello {name}', name=name) ``` -In this example, the `complex_operation` function is decorated with [`@logfire.instrument`][logfire.Logfire.instrument], -which automatically creates a span for the entire function. Additionally, the function is broken down into three main steps, -each wrapped in its own span, and you can imagine that the functions called in each of these sections might each produce -various spans as well. This creates a clear hierarchy in the logs, making it easier to identify and focus on relevant -sections during debugging. +it's much more convenient to use an f-string to avoid repeating `name` three times: -[TODO: Include a screenshot of the web UI showing the hierarchical structure of spans] +```python +logfire.info(f'Hello {name}') +``` -### Scenario 2: Measuring Execution Duration +Contrary to the previous section, this _will_ work well in Python 3.11+ because Logfire will use special magic to both set the `span_name` to `'Hello {name}'` and set the `name` attribute to the value of the `name` variable, so it's equivalent to the previous snippet. Here's what you need to know about this: -Manual spans can be used to measure the duration of specific code sections, helping you identify performance bottlenecks -and detect regressions. +- The feature is enabled by default in Python 3.11+. You can disable it with [`logfire.configure(inspect_arguments=False)`][logfire.configure(inspect_arguments)]. You can also enable it in Python 3.9 and 3.10, but it's more likely to not work correctly. +- Inspecting arguments is expected to always work under normal circumstances. The main caveat is that the source code must be available, so e.g. deploying only `.pyc` files will cause it to fail. +- If inspecting arguments fails, you will get a warning, and the f-string argument will be treated as a normal string. This means you will get high-cardinality span names such as `'Hello Alice'` and no `name` attribute, but the information won't be completely lost. +- If inspecting arguments is enabled, then arguments will be inspected regardless of whether f-strings are being used. So if you write `logfire.info('Hello {name}', name=name)` and inspecting arguments fails, then you will still get a warning and `'Hello {name}'` will be used as the message rather than formatting it. +- The values inside f-strings are evaluated and formatted by Logfire a second time. This means you should avoid code like `logfire.info(f'Hello {get_username()}')` if `get_username()` (or the string conversion of whatever it returns) is expensive or has side effects. +- The first argument must be an actual f-string. `logfire.info(f'Hello {name}')` will work, but `message = f'Hello {name}'; logfire.info(message)` will not, nor will `logfire.info('Hello ' + name)`. +- Inspecting arguments is cached so that the performance overhead of repeatedly inspecting the same f-string is minimal. However, there is a non-negligible overhead of parsing a large source file the first time arguments need to be inspected inside it. Either way, avoiding this overhead requires disabling inspecting arguments entirely, not merely avoiding f-strings. + +## Exceptions + +The `logfire.span` context manager will automatically record any exceptions that cause it to exit, e.g: ```python import logfire +logfire.configure() -@logfire.instrument("Process Data Batch", extract_args=True) -def process_data_batch(batch): - # Process the data batch - processed_data = [] - for item in batch: - with logfire.span("Process Item {item}"): - item = step_1(item) - item = step_2(item) - item = step_3(item) - processed_data.append(item) - - return processed_data +with logfire.span('This is a span'): + raise ValueError('This is an error') ``` -In this example, the process_data_batch function is decorated with `@logfire.instrument`, which automatically creates a -span for the entire function and logs the batch argument as a span attribute. +If you click on the span in the Live view, the panel on the right will have an 'Exception Traceback' tab: -Additionally, each item in the batch is processed within a separate span created using the [`logfire.span`][logfire.Logfire.span] context -manager. The span name includes the item being processed, providing more granular visibility into the processing of -individual items. +![Traceback in UI](../../images/guide/manual-tracing-traceback.png) -By using manual spans in this way, you can measure the duration of the overall data batch processing, as well as the -duration of processing each individual item. This information can be valuable for identifying performance bottlenecks -and optimizing your code. +Exceptions which are caught and not re-raised will not be recorded, e.g: -[Include a screenshot of the web UI showing the duration of the Process Data Batch span and the individual Process Item spans] - -### Scenario 3: Capturing Exception Information +```python +with logfire.span('This is a span'): + try: + raise ValueError('This is an acceptable error not worth recording') + except ValueError: + pass +``` -Logfire automatically captures full stack traces when exceptions bubble up through spans. By strategically placing spans -around code that may raise exceptions, you can ensure that you have the necessary context and information for debugging -and error monitoring. +If you want to record a handled exception, use the [`span.record_exception`][logfire.LogfireSpan.record_exception] method: ```python -import logfire +with logfire.span('This is a span') as span: + try: + raise ValueError('Catch this error, but record it') + except ValueError as e: + span.record_exception(e) +``` +Alternatively, if you only want to log exceptions without creating a span for the normal case, you can use [`logfire.exception`][logfire.Logfire.exception]: -@logfire.instrument("Fetch Data from API", extract_args=True) -def fetch_data_from_api(api_url): - response = requests.get(api_url) - response.raise_for_status() - data = response.json() - logfire.info("Data fetched successfully") - return data +```python +try: + raise ValueError('This is an error') +except ValueError: + logfire.exception('Something went wrong') ``` -If an exception occurs while fetching data from the API, Logfire will capture the stack trace and associate it with the -span created by the `@logfire.instrument` decorator. The `api_url` argument will also be logged as a span attribute, -providing additional context for debugging. +`logfire.exception(...)` is equivalent to `logfire.error(..., _exc_info=True)`. You can also use `_exc_info` with the other logging methods if you want to record a traceback in a log with a non-error level. You can set `_exc_info` to a specific exception object if it's not the one being handled. Don't forget the leading underscore! -[TODO: Include a screenshot of the web UI showing the exception details, stack trace, and `api_url` attribute] +## Convenient function spans with `@logfire.instrument` -### Scenario 4: Recording User Actions and Custom Data +Often you want to wrap a whole function in a span. Instead of doing this: -Manual spans can be used to record user actions, input parameters, or other custom data that may be valuable for -analytics and business intelligence purposes. +```python +def my_function(x, y): + with logfire.span('my_function', x=x, y=y): + ... +``` + +you can use the [`@logfire.instrument`][logfire.Logfire.instrument] decorator: ```python -import logfire +@logfire.instrument() +def my_function(x, y): + ... +``` + +By default, this will add the function arguments to the span as attributes. +To disable this (e.g. if the arguments are large objects not worth collecting), use `instrument(extract_args=False)`. + +The default span name will be something like `Calling module_name.my_function`. +You can pass an alternative span name as the first argument to `instrument`, and it can even be a template +into which arguments will be formatted, e.g: +```python +@logfire.instrument('Applying my_function to {x=} and {y=}') +def my_function(x, y): + ... -def search_products(user_id, search_query, filters): - with logfire.span(f"Performing search: {search_query}", search_query=search_query, filters=filters): - results = perform_search(search_query, filters) - - if not results: - logfire.info("No results found for search query", search_query=search_query) - with logfire.span("Suggesting Related Products"): - related_products = suggest_related_products(search_query) - return { - "status": "no_results", - "related_products": related_products - } - else: - logfire.info(f"Found {len(results)} results for search query", search_query=search_query) - return { - "status": "success", - "results": results - } +my_function(3, 4) +# Logs: Applying my_function to x=3 and y=4 ``` -In this example, the `search_products` function is instrumented with manual spans and logs to capture user actions and -custom data related to product searches. +!!! note + + - The [`@logfire.instrument`][logfire.Logfire.instrument] decorator MUST be applied first, i.e., UNDER any other decorators. + - The source code of the function MUST be accessible. + +## Log levels -The function starts by creating a span named `"Performing search: {search_query}"` that measures the duration and -captures the details of the actual search operation. The `search_query` and `filters` are included as span attributes, -allowing for fine-grained analysis of search performance and effectiveness. +The following methods exist for creating logs with different levels: -After performing the search, the function checks the results: +- `logfire.trace` +- `logfire.debug` +- `logfire.info` +- `logfire.notice` +- `logfire.warn` +- `logfire.error` +- `logfire.fatal` -1. If no results are found, an info-level log message is recorded, indicating that no results were found for the given - search query. Then, a `"Suggesting Related Products"` span is created, and the `suggest_related_products` function is - called to generate a list of related products. The function returns a response with a `status` of `"no_results"` and - the list of `related_products`. This data can be used to identify common search queries that yield no results and - help improve the product catalog or search functionality. +By default, `trace` and `debug` logs are hidden. You can change this by clicking the 'Default levels' dropdown in the Live view: -2. If results are found, an info-level log message is recorded, indicating the number of results found for the search - query. The function then returns a response with a `status` of `"success"` and the `results` list. +![Default levels dropdown](../../images/guide/manual-tracing-default-levels.png) -By structuring the spans and logs in this way, you can gain insights into various aspects of the product search -functionality: +You can also set the minimum level used for console logging with [`logfire.configure`][logfire.configure], e.g: -- The `"Performing search: {search_query}"` span measures the duration of each search operation and includes the - specific search query and filters, enabling performance analysis and optimization. -- The info-level log messages indicate whether results were found or not, helping to identify successful and - unsuccessful searches. -- The `"Suggesting Related Products"` span captures the process of generating related product suggestions when no - results are found, providing data for analyzing and improving the suggestion algorithm. +```python +import logfire + +logfire.configure(console=logfire.ConsoleOptions(min_log_level='debug')) +``` -[TODO: Include a screenshot of the web UI showing the spans and custom data logged during a product search] +To log a message with a variable level you can use `logfire.log`, e.g. `logfire.log('info', 'This is an info log')` is equivalent to `logfire.info('This is an info log')`. -This example demonstrates how manual spans and logs can be strategically placed to capture valuable data for analytics -and business intelligence purposes. +Spans are level `info` by default. You can change this with the `_level` argument, e.g. `with logfire.span('This is a debug span', _level='debug'):`. You can also change the level after the span has started but before it's finished with [`span.set_level`][logfire.LogfireSpan.set_level], e.g: -Some specific insights you could gain from this instrumentation include: +```python +with logfire.span('Doing a thing') as span: + success = do_thing() + if not success: + span.set_level('error') +``` -- Identifying the most common search queries and filters used by users, helping to optimize the search functionality and - product catalog. -- Measuring the performance of search operations and identifying potential bottlenecks or inefficiencies. -- Understanding which search queries frequently result in no results, indicating areas where the product catalog may - need to be expanded or the search algorithm improved. -- Analyzing the effectiveness of the related product suggestion feature in helping users find relevant products when - their initial search yields no results. +In the Live view, **spans are colored based on the highest level of them and their descendants**. So e.g. this code: -By capturing this data through manual spans and logs, you can create a rich dataset for analytics and business -intelligence purposes, empowering you to make informed decisions and continuously improve your application's search -functionality and user experience. +```python +import logfire + +logfire.configure() + +with logfire.span('Outer span'): + with logfire.span('Inner span'): + logfire.info('This is an info message') + logfire.error('This is an error message') +``` -## Best Practices and Tips +will be displayed like this: -- Use manual tracing judiciously. While it can provide valuable insights, overusing manual spans can lead to cluttered - logs and source code, and increased overhead in hot loops. -- Focus on critical or complex parts of your application where additional context and visibility will be most - beneficial. -- Choose clear and concise names for your spans to make it easier to understand the flow and purpose of each span. -- Record custom data that will be useful for debugging, monitoring, or analytics purposes, but avoid including sensitive - or unnecessary information. +![Spans colored by level](../../images/guide/manual-tracing-level-colors.png) -## Conclusion +Here the spans themselves still have their level set to `info` as is the default, but they're colored red instead of blue because they contain an error log. -Manual tracing is a powerful tool for adding custom spans and logs to your code, providing targeted visibility into your -application's behavior. By understanding the principles and best practices of manual tracing, you can adapt this -technique to your specific use case and enhance your application's observability. +If a span finishes with an unhandled exception, then in addition to recording a traceback as described above, the span's log level will be set to `error`. This will not happen when using the [`span.record_exception`][logfire.LogfireSpan.record_exception] method. -Remember to balance the benefits of detailed tracing with the overhead of adding manual spans, and focus on the areas -where additional context and visibility will be most valuable. +In the database, the log level is stored as a number in the `level` column. The values are based on OpenTelemetry, e.g. `info` is `9`. You can convert level names to numbers using the `level_num` SQL function, e.g. `level > level_num('info')` will find all 'unusual' records. You can also use the `level_name` SQL function to convert numbers to names, e.g. `SELECT level_name(level), ...` to see a human-readable level in the Explore view. Note that the `level` column is indexed so that filtering on `level = level_num('error')` is efficient, but filtering on `level_name(level) = 'error'` is not. diff --git a/docs/images/guide/manual-tracing-attribute-hello-world.png b/docs/images/guide/manual-tracing-attribute-hello-world.png new file mode 100644 index 0000000000000000000000000000000000000000..81a2fd0ed5d0916499fc575c5a4588039083169e GIT binary patch literal 9833 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 literal 0 HcmV?d00001 diff --git a/docs/images/guide/manual-tracing-basic-closed-span.png b/docs/images/guide/manual-tracing-basic-closed-span.png new file mode 100644 index 0000000000000000000000000000000000000000..cf716309148f0f127491f734339d5687a127ec89 GIT binary patch literal 8351 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 ARR910 literal 0 HcmV?d00001 diff --git a/docs/images/guide/manual-tracing-basic.png b/docs/images/guide/manual-tracing-basic.png new file mode 100644 index 0000000000000000000000000000000000000000..72943acc1bfecc4e02f08fc9bf7a8e25d585909f GIT binary patch literal 12326 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 M#TCS=MGS-g4;nfQB>(^b literal 0 HcmV?d00001 diff --git a/docs/images/guide/manual-tracing-default-levels.png b/docs/images/guide/manual-tracing-default-levels.png new file mode 100644 index 0000000000000000000000000000000000000000..730c409834331b80d3f7c4feb1c95f65805b730f GIT binary patch literal 18776 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ⅇJX_ob=ohPZJwe0w^*muIpli+kC0 z49SKho!&%l>BWW8!1+D_l@vLohJ@KcsyS()xH4q=HA%o-hVg6xh0R^X64tKiYd3^s z)?_SQ>5p`NiMl+~yN-|11Tyo@Eul9)@kdxiufgxn!aEd|$hX|LB*Qv=jI9?w{ZDHz zVG+LBFEjBI6$OFUoR-I`%i5|KyelubAKx}A!sJ;hr4jqkXC16Y_01{B5~=k)3RWdg z4pMsu;>-!dv!`(>jb9GLX`J|QZ0fLJl^(+8xXwjp9342z_B}_rYXz7{SL!u+ogBGU6e|dv#7`b@+T*bQi*~dbQ{#sl7ulw zC_)w;4LIQ!>>y+*b0tidLs@oqxAK*hxw*XJx3g)8uMIw*A*ZPu7L_8T2Y^lD7lY9_ zBNSXISEZrJ(8vf8AYJ!ZG|8w`S9jhDs0BuIAv@5+{}+&fU}cR}x|XUnNal4pz_8A!)Q`qyy1~UL!g;WIVtEysAtJR0^k0#|%kx~e-yrr<(eCu)z ztm<4eE5RzY0H9LRtdGihbkBwk@@IFJqD9X*xOpY?z6zewdPD<;16pcLA_hz{!u;={o7 zvap68Q)aHRBGn_Wn6JyrHLm?CrCAjv6rrZkI7AmxH84#vm?Eq zYYLgs)r?U5^R@f(RgV{HQWxM!4@{< zbr5An(q!c{yevAKHnLi3YoYy$?XY)WNqeAZk}`V5n}7Bag&_%};togyp)x-|im;r+ z6gq{no)*;fS*>W0Z`@$XosW!1QU3Q7w6YJ`z52Xj=kwu&qWVIEyT(Z9>;xN5W-{+KVtm~07kagzPni{b`T|Fid8@@iFj#$bjs3H^9h zCRU5kfCpV_EVHSrDF2{aqK&>+>O53w=+jAz>yEnt zyHl7?6;;M>g*`8>;QaMNr>^6}=EK0x=PMlN7BR(gZDo@LHCi|SRu7FG@yS^)gKcM4 z>_o2?4<&{3`P_wC@hUsreY?2vF$Ih&h4nSu4)V|g^1kWOJ=*K3i?Yt?7p0OaYljZy zwH@R5630W57Hlb}9RsF^oIo7DmG<^DTED6Wx<8|NcNMrLv?c0OKi0ECavq!HMZvv1 zbQ{*4UncvTzAlx~oAaH*+dQoIbU%pEw*5@dbS=t4NVlIBIbJGv@IN=MQLnK>G}svA3Hou-&-C z&M1PEuJ%NOc7uXHk1|Z;wtKuxD`|P;g%aSaXCEIQhf{3Y=2wKp6n;)5^n?&4rIKvX z75qW7xeZGt9SqL)uxb}K2TjKj%;npO48HdfBgHM_@p#s-5vzuS>PTjDxX|iyBaf#n zIH|>nVXra^H-h$y@D~mq*%~=P9RVQ$Wfa#vMi&!OFETO`QdTfjyC0Nyc$)k5&@I5o zQH)@Yjz)s=gKUHNtZYG(rt-3^TKk30efkt2I4)Ca&2ZqPMA{E>=T|zB%p~?lWRuf) zl0X5x)B_-iUQWI?I{^*kF{ zjmcqb*<5GS`X5_A&juwuCDm*)CN_s)5{A{S=ZrOWM|6CCFY_s0ib7OStdbb z0UkXqMpGLX(adZQ+AxcX*}UZrH}i04s>U#&arG~gQ(DrSNYyCBJ>cE_ z@H}Bu(Ct};RsG|sA<^CLuGvJe9HPXlZ&gfgsxr#kew=L~KKfGlt#dx5EP#Ntk>$C{ zfWceizP9(&jyb07voUN-p)Otb{+X0Wka|UQ+LkF3y0x5x<6jHF`La)cC-L;0vuZ>F zP%OftcoJUi?&0%&mU2tDZ+0fktGc5lnD?J5lq*VxX5Z(3K42+&L9Pl^Fef~>{L0{T z!PS~j^&474M(o!ws4c171ENX#Vy;@+ODF$s7^N}*8c)K)!dkusqp?=@VS$aza&JMA z8s6L8CEK$-o-GQU?exup{xZx_z6$)F`j$4`6eu{32k#FzPfu=(jrC`p(i?|el!ZISA)ZQ##h+L^;d6LKlpN`s z`IL3VDBm&sk>8%~7PO$9d+Lxuufv=Pb9L4Mfq{a>kE|02of&kIMmB)=Q+|Rtxm~+s zu)Rbb{;;D_uyY4dH?3ZBMe3)lvaaeht^BGc&1?I<{TLyEuQ7bivh!sR)}vT2V0s{9 z2b6WPZQ-}xqFAY7U(ezDGsOKje9fY_l(>sKJHu;GSF`~!&e9k*<^tKh3#MJN<35MZ zXlW%C{oEa~sr`$kG^0PVilK{j1?A@PLYPhA1E@N<6B~||YTk~?{ zq&7~^n-TLzgOpd$HUvvLMC6LeCYrVK7f?Nj6a9jW^ZrkthWJW<8t6Er>ZN6Z?7u(f z%S0)#D<;hFG%re0C4Py&R(7evj?nsPl>?7Wd36=;vh5!h8&DEh#ykGqM=1yUxTMIq zZjFC;2#4`l=b@^dv*CKNO=iHFu&lh=ThHgcfC^dxrz5Vzl|~Jmq*zyRN9px}Wtct~ z4iR)aNQSY6V%gaNhfYBh^~y3gU&s@`_yT8T7)(v&4gU8 zx3;F9r(SxGMTzYSvf{mw&D>t-sXxj2nEsB4B&EW`>3H1@`L{Fef&`O`A(D2MxJ$0n z!*ggSdMjlaW_LY#*wbT)Dw|)%h2(@C+ArCt({Du2llNAJGsy}0m3d~L@@!JES9uBl z;JC#!J(A}o_ViKv?G(ejJ4@v)RWa^}>a(HWM_Ybyv<$4(`+Y@UjVNfjnufDsdhig~ zSt97aU?p)>Yj6Cc*kO&Kc7lDvGZ^0&lD4}9uRWiJopGsvYyx=+&>w0zH(}>u?XEvXdI2CF5?-0Hc z5SKw{c4bgI9IMHb=t>LVLsLGdg^tQEB@P;jXOGVJH{@vui_8q2%#WG0k|b}a9~e}dA^9d0qGs`kTtb-XFsOE@_GT0pS} z9U|SX%_U;E@QrL=8veP836io|)yF@>?L#kJ-wbA9fbItYpG2L3dUHr6SoGZv5o2l@ z*Wy``4>hO>4rAKQNJ_4TxAZ|LidI%c=`3GW;Ou2_g^Fot!wrSC6@^|N+fycG63A-z zki<6My z=m-Q#OzGic?8+%KzJ@bvK-cdPwd?Je zUh_n$MJKrvhG~VP_wN6L&RaPGe}5$3C7}lV^m{#(#u)3zQ0^V(UUm_M_2bv31)EUb zBRB+{=s6uCwVYErihFrwHqh9<386%U$g?s%L3B{F^azbph>Ry6_I{pl51AVXto|XI z$LJsD?)Bp!3-K>sQfMEUW4?NbY;0msY>hDyG?^D!m~OJoaaO>5fc!}n?Gn+O&Bs-S zDr9OZ>2A)Z&S~bpF>)K|R!84RTi@ZdTCM9b}6WUwb*Z=e+(H4_;^HHc3%m&da`+D=wTUo^28Dxq(fyiq^9H!l~Es2(Gnivp=F z)70);6Gn-6k4l@XF&|R~e4-Gp;%==}RdS^gw9w zb1cUfTM|z%R&nV&S1~j(-$XMeu~9wcNa7kQm$kCf>X)1)( z!9a2QA_Q_#yw|q?<}w8uFt@^^jyqpX8HHcbo80HF-qSlal{ePU;jy%XtQsq9_k3p1 zo<>&il;Mk@jZn@^l=X`~U^NVR>3K3#vM>C z)HjJNv+|chpa_R@{RJIGw5-stbXJ6lJ3&n{YU6Z#u&U=yy=t9x!$|~q--B6_FdWm@ zaIsdLdiuW5q?~N9Nuc@MiK4is^17LhR5>sFtP9t&?uLq+cnm5VO={G|sgz4)>+c?% z3DDx@MLN-|AK$c1^z&(zaD*PSYHyY}qfc09bw*6(OdisM;DM}XF0eyb3f=2Nr+MeE z%Ue2aPWq+L`V^?aN)lDpT`A8Va~~Pd1fTHGD9BOTKeOgcmr|4ZVtrHU5X{hh105z# za8xw&-jhFRY~ratsYR0sX3TAlrsQjjo*q8*=Lo*4ms6yLc^0d8i@7bKLvA zHy`Br!Dv%500ULR`ch*cn1IY3`NB4^5e5phl8@hB(_wn31JFbYlDD{O*^(7O6@T2T zy@-M-&g;lb(J>jL)c@&sfhzwL9q@=pmQnee07OFVw>J_L%D4%ihqbUDth^D7`f?=C zyR!nZdL^%T_$pVRJn* zItq{*5*xM*`<+?th<6wvb0vFps|=ZFvk<&0BKWN;zL;{W*KNMb4>_2HU^!!a zMEb3beJh;sL`7xrhaRJd^mvkM>Mrv-L7n!pre3KEF5_;kqtEqs8o!1O$@*Oza(}GM z7LMr^AzTXLmbcpkqgW4dI|Eh_@fd3O@4+QlRo39r@n#D zLcE#zgC=><5G8S5!X4gn*eEhaPKHk~_G7E{Q$j-`r%!<7(F(Spxx2wQbVc9y8SIBm`LC9hc?$L3nbDF!FJ--C1ja;tEqOF?5kAc3bZAk|vv_7jsP z=>5@4>KnnvlaaNafNOs2$}6t!RiH@>}Qo zUCr5M(8sOD1QNJ>_={8aj}~Fuku)VupFNz9gLS=H1n90T0oQAogXme;cdSqFEzERG zh|te6KaZS#RW?zEk8~fRm7&OM3}>2!e1XJ0!OHb++vTb_3 zdnR#8=q^XwpCv_`GE0Xg*4|1u!i*Q&yc}ZG>bZIy`RXZgl6s+f53tzfv8a&jy9pDw z$mAR0`@vq*E(^rDBoE}itS4a9L!#Pl%0R6+QLTXW#G9Hk%-=A~Zh?l!n3#kqpfNw= ziTCuqx(37!Mr^W}g1+x|wmE;;uM|Q(3!oYL#0RQ1$DiXr=7se@9uD+R;06T5D2V<;Zg7V8X&llWM8gnLVSu(sql033m{&Z9Nt#cOY<;zUh3mN;$dRTc^rzSN zsrv=gdBi$voRUcSeA3c|jcc%hb(e-_4i48xk!stFjZC|s1dD?=wHYzUM;0QK*CnCD zNJdx;ET+#mIL6Z${)FM(%;T#IYLvJQ$<5zPAVX_3#%UhHrsYzuQ+xd~Kd}!AVy+w< zqf>rfFy=;%)>*SRc|pJ&ppC(q?pW&~NQYq}Vv?uXQZk*7>k?@RMAZPiCSoc-{6c6~ z(_AI13tP-qQV1Gh6)jnWqV3cVS~?@|%*2NZxo!`)Or762-DPdRK39YTBD9GCTy*|r zN(beP_7}_4ut=y#B^nB$?2iv|9l)R>r^oCj_gp$Vqt|P%H`&nX!$@<^Mtv|-r*3pz z%wSya3n%e#<{{fRcxYSE{vlOqqtAGMCe1~)#`_3Q1-AU>HI4c~y$Ss3A2BR{D~oiA z-B&Q{vMy-vnl1HpKh30YKT8taXK7twJaJ~)Tn~FO1qb7F#;p0{!+~!YRYz3(O5-5} zcusv-8KSKyJ`cmjXYn31@-+M4VY@#Ssf**&;>(QgRkOeWS(4_qfyKYM;aAwO!x71eBKfTOyV+K=%30Ba z`DU^|HbPP}ytBxH38AQ%*K+<>bQJYsOW{^Ox~csU%$yta(FP!Lo8*Yw=|u2?}LpT4FBy_Ks-Vt>67Avib#H>TI9 zS`!o~!dv082~y4|-m1R73)Jn>Z4)T<$k;B*wBohmbU+$KVV)6w*`s^E*f{>H;p(FI zm#Dbv@LL#4!T?P)RY+I~X zkdIW&Wx6oheW*M~N{0l$iOJNb?q%W3aDD*UQ2w%jue(Kd(`-B6XXsoc9&Qy=&b^z@ z>*97`{?nY|OhgnHU8W>Npw7^fT*n7i&+T=)*wF?RybdfxF8FP~vD$h# zTE{o*F`EtNt1mG1eU%^a2)n7OwX0Yy1wx8xEWcQKXcr^byO5aKzcBFqfDmtwlEHnh#$C}S*`>TCcYnuz+2nH0L<&Hv$|iJ|u2yVxE5LQV?MJNd zV8rT2V^D2=6E=oX;x_g;4z7>!E_m$SYEwSo7|G3>-J#|sp2G9>&p6JWu}^dtu=10t z28ob91)OR_C>I2H8Ba9@vKBM-qG2-lQs0=(;SeRr|_VgSp#&qk}qsd2~n??0;~-;(I=Ib=dY@sXg;dZ%)Y zwN)Sg4@&hHP!d*>MoaKCe$urSa-P4a*>ly{tIn{lWxiCH|4)`lT939%y@dWB;1ey{ zg(`qPU5vP=fiV9Y)q-Q7eXsaA{QttY{vPu}|L>C7;y(P!UkYv+!=HB1&m$hIMh z`g>O11|Rz zZf|e5w4ZOTCnhuj1mb+B?dj=>-?9&_s=B%?Cx^V*x}}ES@5G#qg{24vg9-Y7-TS88 zJmin|laq_)XFrE?sryCD6v;%|ZTv`SupWLv(&+VUuW<)B z^=JSZy!Y*ip~S?*dkZ7keD;7qPF>7vBSnb-#>34$Zr@g)R##W&1*ogdK$f@xCaZo4# z&mU0pSgElVy7Epsb#!kKlG~;$NNlWY0Nq4IYI=%W`La|EeO>{bOt(`M2F|i)3;7PZ z-i{Y4tMgWI2D(;p}6J5-$> z7$giig{N$6lDuoswX&ifXj-3`#Hv{#jh)>`sv3JL-7MS9)oo)1KY~Z&c=|}08_BFP z!nZZ0d(e(-#gjBFz#=Pyl=7j7gi2`%`}Tb|f^n`Rni$H|Dve@7yV}l@5@b>}$)p8R zrLEN@0w9uRNbjGdo@>z**?YB;q4>?OlbS-cu2uEpthu2`3JH?=Ro_63Lo-vT&@&D| zBk)sE=o&h-Zo}bC)uCm-G2>Vi%#~HhD2f=mC$jG+b>Dxekiwu|2KyXP#XT&TQ5!0- zY&HgaaV>3Sf;?W=G|oEU*!X2(_5G++Ji^*d>%=?Hvjw~Sxdq5Ht2|fTRy;_5)fDSB zse)agHs|$lRKs?`rB}yFe((s-fTo8BueFU0K_b;9GGHZE1%U_}ZYoR3OYTr5Zc0pP z72}R&@kCxNhlbt(wV3#Q1tq0lC#${a0T%YGOB!DpU%g6Bu4r$+^pxV^NddH$vfkd_ zNcpyUNRQ|k7!G>=02(PLrLasvZnzZFhOMQg)i7fksO9YZb#n01AFN>>79wNj{yA6d zldk}75G9|_1}S1;YHCT;Y-n?@r(}4(iA4juu+g!Fd9X zFQ`0z&?yf>w{jeJ0N$ru>dDTZ)o{u>BN5#LXqRZItK)V9ZI_9S%g65xnLyLAN}*)%U+(h)&^k8Othju-k7b8wzDF5F_$=moq$4Dl z2&g;N00NKSd7eLD|7){bRl-X5w5e)jWF+xmAL-PL7)zNmWa5^2{?}IU)m+S&__=BT zu*WcxsFtwT)yQFRM>SRn|B0v%Z|6@({BX;a@%$LI=U{&P$a-3||D}y3zr7vt2Qy2m zPf#%X)H%;fuL=HGGH)h!F3xK`WcI;ZDXFT-;GQ&A{~<)8~Oc}npQm@+H7fGAwK>fxwCEw`3pU2oNN|G!bOMu&&@yEXO zqB+quV{4DrY4(&z=t!1r@!JOvlKH{}(E5r#$!n*L6^1W%Q~QZ;_GZ}@jnUryl!Oth zl7d-itE8+SZ)mFKJM^v3U}Z49poLdy>}h&c@yD36SyZALcNecFQyKffnKDjCO5dbTnF6t*rUzz*js-~*4TL4e(u=Fwy{AQQRw(Rnnp$UmST`w{NtZA83Ul# zyOp1I@O9o=-8ZUH03@g^{2(cCU3E5nUT@EGX#6Ni{CwKf8n7N1cw|tT+@DF|(jv1P z0O*&BfRB2vy2Ryg5MwP%8?e<4*ucMkTvL~NuO9gPc-?Hc6GIIrF-a)$c=0PE`RIY&A-TBkZEddCi8$33Zz2D%a0*WhxOTs(h z`MEIG&JW)@+GMEiYc2Dh|4`_(!EO;=Uu1cHar*OizIDwYV_C}LC42Mr zPa6f2A+t^Y6VmL->4@_&0mVAeAz(^U>g^tRU3eE1d0oGUkluxPo;#m;KxmJziF6QT+h9O)k00+0~jtk68qx8U2i|$)ZFev#y49|CmKKv%G2z zQx*(X>F@0P;()s+l(KdWec!}SnA7qIDQn;4))d(e@1qVPR5%P~ON)+~s)LGr(0#ah zgcOY)7ux>?0q-fVd6D_-t7qG#GkovIEgvF&;gp**Wf(~cs~G$+=Ts5dBg0V7b^49l zV>WVL?%+5aNP0_v)1G){(28{^(d|s=(=0#Z+}yGJ6~-Gr=syT^#VVnky@rcj+@_x| z@Q3f6u;g*~mb$OYsDaQIDo?i`<2#X^*EnQw)7ta*YqaDHjtH)|gB{7p@`Az@L>y*$ z(w`)^kZbPhkz20oxV2vI$-u;Y-d2yY&gc^wSP=8S0~3wi>kE zqTbhk8J!Y+Mj~=)ugAp1oQk*xB*TU#NO9waWX+Sf#YUE=6m2lb>&}ozqEoom2uiOB znIT@p9)x{N4jw!9F#sC;kSMyx(#UcT$nL?%cRBjWD7US9Rp8$}4#vimkJp{gy56OQ z1!xdtUIEu7@p9C_wb)M;MMyF?M{M^ur1)<51^?bI zt3BWoSpgKMa#65ISL{8FxAt{p5rqm%=%EHwOmz^Vmh5ngh!N@9y(a)YBH&<6e2=oR z2L|R)shW2_oMDCwlqQ(N{$3}&Iv=~kqNFjIM%)LeD$o*iMTd$K0Ms^u3&OMjET~#2 ztv23`mp!~e=qDj9TI@OnexV=}GYDZ!>{y&!$R&^7K(n%LFLYeuy1}sAZea82wAxQN z51@(mn0ncwJMi84tgN>x3PVb=vPczTPm{YMHy^K;^@P4!S=GrR_QdMapc!|WBS&o7 z0GRIuP}UO@AX~TTSHrFMb#dVu&E``Y75W_>Lk6-1T2vaOnBvBDlWPav?_ACSrWc}G zUn{@c`UHGibq|M2i02zmvvmNZDG(SYSo{76S`*;b<9rnQd|y}|$TUB@=!t}3!|juO ziWygNM%DS2n*C1AZP5I5m3Zo|Dt|99H`HmdwhmL>**(rfvv)ai)>|bG7mA>JJ_Kd2 z^S^(qHt54Z=I!r4m#*^S&-|1>Hwb5)dGvE~dT?c%8(+;>N8gLw7kWxHK=7mXXLHW? zrDLQD$kZa~K&pth9Ug|+@b+Gw#f5I4Z6}CdR#RF(KV;GK38SY@c0o)ejcqvzbIgxa z#?~ryM9QpmN!W)i>o5$iRP^pi`C_Gux;&&#k6 zsa`%YTR}@MakbT0J}NZ$we|is_#OBZ(^9B^@`482SE@xB^zKo46%iMJ4Xt6GPQ=O# z&p#xI20vv|6`Gdp9SR&FFzv;CiT$cLhNebK2oa{1Lq5%c*OG;Tt&rlF;#-x`nA#q zt}B-a638GjQWjA*Q>w3B#-_NUM6Hm-sn^QN4puo4HD&e00ePPMR&?BZVfs^>Z$we> zBohqXB>H-!HJ408QHY%=oF@?ql~qBuk3ao=E(wMBR1;g~cy|A?{MKXvsw2+P%ll<-($a}hwrm${X>*eSeA(pdw7D+Qdvsi?3o2Z4EhpQGZ_{c%VTHD z)GEF|!4%z{m`m@C#Yp$$q&3oCU4FPif4HS8S6vm&VzK`ywc-GJyJT73ecDlygViRQyRVnHQb@VTv`4YQ|)2v~417B-s}BAgqpf%7vFqW@{;c^Cs=MI3UqX zIrLaZp)w#r{Hw0O(J$xrp^yR(-#PvmPUVACV0x&aZ}$_W_EC%~|AS?Ww&ot4Y7kdB zWqH>hZmqHDvQMW?T1W$G87{YjEgevi**>Ilk6~E`?(`OOpG&sorr*LOsltl8LA%HK zu#F4!SSsHX4^%l6@G0Wzw3Z&L6Hb1m?d$H*KTcvLDCKu`PnyjaWYJ#wChpIQ7T50RQBUawjB z^4PNLy(nEM*I+}YY4Q2g;tWN-hC=Hu;$CaLt_3<`Kg?v%?&fblKth;+_!{f`ngh{*4}vncGKS{*ojt%?!uSZx6uJtFYCQwnT3sp z3(NJQGmv0e{1{|J4`AauN#Ppyvgwnyx`+a&X-_I#-6XC>ad#l$#s;wU)h$LcER?<_ zR2P;>LBwNex2l^(TSP#3WR;LGNnv9-!owrP{C zP&@nG|J){H%0w&~K5hoE9&z7GtXaN3ISNz%5YkhwzF+9(j+heRg1Z(SWvE6}{Hu#T zvgK1nL4a~b@ZUBdq>LQ)Tx8_D++i~Hc+!i@PKDuZ;XbD&G-K_vS+9+bO%At7MdjI$ zdZ4_%kkS3p6RS+Nh#;$|RNBA`Yem)|FGhc=k$tz4W{8=ox&Ca+Yb8q8dqD70dV1xz z#K&D=^e7+C$G;{s-s|R5)a;1*r!gypxCr8uT@Mzl5fMviNH54*NGuzX$`~{BXeg2U zP^}_$iN!f;*$@bJ)io6fHSzS#OTS8OdHCtC!8iGxT3${V0QN^Ym^mBt$AB}8ZZ+{M zSS&KNW&zqAB0B>D!uEJ!4M<12@1(1nCgO6X11-E9Lmsuxq}H+nsAvrN&a}6!9po%Z zDD|MKZV~Tm=!m06tYT&ry|0x;(?hF9`QwM&9zO0GvM)S8hCz|8@HMDd>O;b*P1MWO zH@Hva6jcV@uINP<=pWur!|Q7Rx1IcqI%Q?cW)@C0O6{Lr7=|wiOFqabv4#2)6G8Y+ zm@Q@ST;Vr6oEDiWG1Fwio!*2Yl~eyvRwl|2tqY=EOfvaVV!-pof+S7Nvjz9Orf6j& zxCOU9c|kd77MEJ`dQM8xPTvV*CZuQR4jE|i$G){$!OrzyER_IqrgB`=yI zCa5Y{KYYsa9DPHW#7BwJx8s}JRE}|o7j=;0acH>*6^COJoY!r4JcTHjHu*i4Xl zAAnUR>ivoXeg9mYC?FEb(k`cs3+k_i)i|B|5=Gqd-f>Vr(-Cz;+yq@|nh5xz=K?EF zt{eVl144)$e^^4E9a(MBjf_>xj7?OZtyGkj&Ysya75mUPzXm0ukI}ISu-K=+ogJPI zsh&6LKNU5S>`3NB%82cYd?4a@tocSthXTGi=GJwJhO}7~PCGZZEsxIlQmPat%QyL8 zZD%FXsUD4g9z8DTu`-c+qkY5|+xoq*Zcxz*d)peBZ1${f>d{(f#LO~_Kj$l-OHKc+ zFV{UcF;DUP#x{r_ds^M-292{>?XOFeYif<32R0N-&zemQk45wE`S*QV2j(%@od^*2 zo%o^o)?6(af*tNeQp_Z8kL{Bxks0;_LD%LpQr<;UOX2f5#g4sVFEDdXCMGP)X=LYO zGW!9c!53NhPaFm%ONSqN!_5h)+pUVVS50t)UiEp(6*18MpgNquT%zT0^X#=`SW{dX zjO@4Ei7UYPfFjF+H&AlF1EHE&me#2a+Z$O&Jr2}2#}kC-MSeus7-`>y^NLPW7k$I| z+cKQGKmsqBuYtzJmNr=5JZi~vfXbKjbZjDR1r*(;g|h+6R^PIJHrcG_CV?tDZ~NEs zA50>98tP%DJFD{6hmCY$ZL|E?f9+Mfh9ihkS2fH=#lD(&xlW3NER>-udS?Djtf>?1 zlZWV%SWP<6GALbLv{5>0C|!LqS~-3=R_Irh?P|z!M*Ar-0u|RqlI3=`4_*>Hk9C-( zNAnDj(+=LKb?USwua?&or>5WJ;}$AWx+AF-h#PDownk)qEcW+ANJlj|lYd2RC>?*= z6b-euzCTRQtIolB*?*uzIdg!0199vj z&#VpK*p;VTHTVNYNNBD}*a0__6TyTn?7Shr2DzX7t*ytKUY-co$GNk&gBVT=H!3Xa zQ0Ptd_mHw&g%s2yjW?cMf_KTCd&IGuv-$Ksn?Kk3>m*sLu{JmX%};&EuZoP+g3(7b zTiNwdC_{#m=?@AxqFS#0Az~F`sIIfkFh)I*cl}AC9dd%WQ`p^5n3xPbWxNS(hS3$K@ReZ-@>eN%<%2YA#r`YomsFD!uAh7F zUdZ(2z6SVSWxLk~g|;}_8y0DcdXh-(nP^xm9YoDh%(#o`ov}yQM;Q8{T*YRX&1a6? zI#UtsV_@MNrE8^I*A_AetMNO>zYmhhv+N7AZ~wFWdMnu4<#-pAzY~Gj^3DSOt&y!8 zI{PEuG{%lpj&RUvKZ!#z9>hw&vQKRKzyz_J3Ph$CaeaC)SD&#j+Ad`7-OVIvbIq$~ z?M{t^6<4nBH4Sau^ZgF?>AFW0jZUQSsHQm%^fV}wW9G%Yi%I~~x@B|%o9c|~kJG_` z$`7>^hohkVWVuoQpz95jd(%G@V2kNu zJ^;sYW3gtanfTM?M%0oKK0+4>Dd^BX;z{yiLT+dcL7PK$N*ERMgBbj2Hw}ns1%l#% z*lAJ^XSUEKwB%PxPn6~Pq4<^=+3I5kQT*4C9rFz27p!3asYTDS_lOmaKA**~zeO48 zy@J}OpQ~uA5Z1)Yeu=nI!rhwM;D{VqF-Gn@2^L0MW)|1_ZYMX%#LC#?mT!qnDL(*X zR}*By*MtoVg(j6K7fDZ_;Ml{rTO~2^OBSDs8U*(sSEqiAl&Z<B09#={St11dls_`R{q(@ETROW7le zh&I74osxtJuRv!iBI=5SOpS<(;Rn1u?3a!HjyfF^-AX+6c_S|RdMqk=-(NMeBy&Pt zwu;73hYjS^qUut@B$G6hGI^XBOpSoiMgUI@E9sz5Ix}x{e4)?cNclQdJ+hoJc`;;i ztagCbqM*AU>*$k_pDia^wO-D|`Yf|>!Fui4jS*p*@6wwj-vvj;>X*Ib;U?eBSNR9t zGz`sjBZ8X(JvvL#A+T?dhU}M~W>`O8=8!~*w-zRNjG9#+ap%)aX9qP}6$XbGnZ}vW zr_H6tV{05-hY&KVKPExOjsjrE>tg>j4zl$iU_PI`XO;kTZ73@}r{K6X2;&M{u+ z%)}3KRu^U2Q=c{M_0gitq zY8C@+0m<7KB@tgc@&+#puP#$8Vkj^*3MKeN9&ZB|O!Nw-j0ziU_gJsSacca4jqqyB zFZmHD?x_#&#Dp`o=+mA4Mp!>+g9hNR^S&Z1m9XQ35x|G*JG(Oj3GYxdckvGkJ~S>2 zyayL00!v|ie8;NQ+2lvA^{i%n;zu&B!8C#;gl-n55fN# zj<<3eHXedsu%^5iHhMqzobEAxNF|u2_mnMv?wU}PFiSt1D}+#KxAcM>!*Q+e&+p^c zMY1(TcCxiD3g^cuI#swQ&z>n_r#YpkNwUo^t_memR=By((n3p2??rP5d{G|90ji<6R zK~~-H$K*`fv^V>=VxqX5Uc~~^_bj5BGaGEYc(su%0|$2JOA09mtaja;DN6azJC9tp zGd=o4CVd#pZgTzwV8aLhT+=>Vnf5GkdH4IFxeQE8fsm&lsWR$kkKxDecgQ?u3ScSC zO{!<>5KngJHQ|>M%=Mum#wmqfOUN}pZx-p6^6d&eTX+@}3zBvM=Mp!os+5;La))gT zabV!-bNmuM!mKl&wV|YV`<^enU%0sN=Pa#x*mu_|Y1Ai!#>KS1mAIZ%&4OD@g)e?| z$+i?y6gH=ysdj(&bxLduJ|4_UfbTJHe=<=lcM?BvOj!DJ7AVcGnYa!d4R44EhrH*4 z_zQu2BV452rN3FtHczB5u||@(Uu_L4zQ@gyVtE zgHh!X@4`*ZeRXkWVkk)3W%0P+B=AFNHSv58rGszj>{~U#u1{ zORsc?Ctw%xMNZHrl8b(Q;lzvdXcXvA3nH!S7nLO2onY6haj9Smnvke7Um{++JN!+o zx8Ena`WZPouFFnU2a62_U6~09BB>vxIDsE@RV#|)Nk+;{G&4XGYK%>E_OC9tXssua zJ_{2(3SQsP0bpdGh#o7=cc73cXjvkRY1i8*%BJ5qfbD(My3GbASg5b<{Um4>p&*AJ z)5&^=Q{4r*=I_Qpb#b|%VHf&fRTul%6V#JP4R{OW#I7Rngt>k#HNWP2`0xTo#btV; z<{h8n!SRcDKtH8hA|enm!au4=oPGC5Bw}iyWa8ys;K=y{!Zrse*wmMas`1Fx4#^85*th@)lP>G{D>y}9Q7)(M6! z0b#_+FR8cId+c#6>$$nu`aVJah^`s|mHR>k&r7#9hUQ(UogYYL%^H*Q$j}B?8YS=$ZaSM8TbXC|-B`}lKUK6_8RK@UH0)mPVxanZ z;>k?V#wUl{hFYg9X$D^jHCL|l!cfI@`x83T1vGMFi)Exm`Wzmr`1C3lzfP*JD0 zpr%3(=0NA#`A$#UH>K6s3o}ejvRT`#cc4+Ji)^2H+43F>(NiqcRj6&Hpr3wr36&-s!` z_pldVzCC=}hEFr&Q{PEl2QF_l@O>P&EKjM3kIj^0<=65S)R`fZQ-sUxE4=YtD8tD*6N(az%O2dgVu{@Ga!3gj+qYJDp!I1?%3J!x1G zcQ>NqevX}rZ7ipNz?7HJ++tkAW(gnn?}D~2oYk$(FI@{2ALF6C=Hur5n$yM~bxlCK zAEdfB+^v7sDx>xypZAxY=*-7uwwfA`yEjsEP=zE0Om-8Y7pgr7s_W^;dj*P4;+hOV zf_mcj{d$e2A}L<1Z+ytN5~;2-kLsNYavNFJ9mu-(n>|t%6Aesk@Xf3HlMFU1jX{<{ z-WM8(6<(`YDAO_bO0Y^5ZK^9tLgqsHCPr*36ZIAx@~hh(1*DeF{^_xQgFY_zmmrkF zSVSt#7}*iZK03?N(|yXP9>s|uX@TA@0Yu-rZ@(4wd2~M^3eCXSYM3mYhr~oyUE1^B z=~V!&<|=HLU)jm5<#ol=x0@nVN3n@RdFLa};rg$AS5%&Wbc9yDAgqct!`+ z8g?W|UwiPQ1@!0n%;%9f!9w^dJ4J)&t<7*tOd(;Bf3ZrzFAEzUK% z$yp9?-zXyRA$hGTaX?c?yc%ezSdaI%y!4oBPmpjmXk3mUQ)Kp}N)LyzUe}cF3N{lY zdfY0D8tjb3T#V|b*KI9t`E!j~dq!KUAwS<{*So4YXd~LP7UUrcs=YHS_RT4LgS8fF zjFGNE5)0;9SGS+^9|6S5!+GNmiw>04^DBajC80Y~YjHlh)muf@-?@IYu-OWPEVvxJ zp8kTcHVkftl*#Ess~XbAd=E?;j7mhmuwFTcw{-gK1{l};abHn(*Jw=#{+|Ab=(aQ6 z`sU2adX`fmdYf%~Kv=aa&n*rLT)I99asPbd+Yox_9J79z_x;$Lx`8Ydg4CAI9*l9g zhsC?TH!s|&gh%d6mELg05O#z902%}!#@|&>j!u&e^d5(uvFSU5Xg?@-2TPfqN&c4& z;}r+M&>k49&)I(uKW2y+mq&uv1774F6`%LNUxO4LN&xRu^y0t08v*~vB3pXe_n&PO za~ll*%cKzxi4^dO|5);V;s@nF_}Oskzt)G;VqTMO|7G_G z;I*<0p8tky|KlNm12CctIGA|T`(Ngj@c*`ljJ85Y zJ1?vE?RGCWwEuCUK6*%fn@+w|WcHc=0E6{`_Xi`OAN)_Z$^Yr$2xSM(%V#Df#RvVr p8RsxY;3*EeRIGnM%e7GYlh8M5qk!bf*8~pudZVB&50N#G_#b3wNvHq- literal 0 HcmV?d00001 diff --git a/docs/images/guide/manual-tracing-level-colors.png b/docs/images/guide/manual-tracing-level-colors.png new file mode 100644 index 0000000000000000000000000000000000000000..c607debac2105edc042b5cf3fd5206638cfcae23 GIT binary patch literal 9980 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

9c&+qQ{y-(^La%(#b$80 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 ACIA2c literal 0 HcmV?d00001 diff --git a/docs/images/guide/manual-tracing-traceback.png b/docs/images/guide/manual-tracing-traceback.png new file mode 100644 index 0000000000000000000000000000000000000000..0f12707f1260ba5416bb97480cc85efd1373753a GIT binary patch literal 27753 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 literal 0 HcmV?d00001 diff --git a/logfire/_internal/config.py b/logfire/_internal/config.py index 762d93ce3..b0cd60a1f 100644 --- a/logfire/_internal/config.py +++ b/logfire/_internal/config.py @@ -212,7 +212,8 @@ def configure( If it returns `None`, the value is redacted. Otherwise, the returned value replaces the matched value. The function accepts a single argument of type [`logfire.ScrubMatch`][logfire.ScrubMatch]. - inspect_arguments: Whether to enable f-string magic. + inspect_arguments: Whether to enable + [f-string magic](https://docs.pydantic.dev/logfire/guides/onboarding_checklist/add_manual_tracing/#f-strings). If `None` uses the `LOGFIRE_INSPECT_ARGUMENTS` environment variable. Defaults to `True` if and only if the Python version is at least 3.11. """