---
title: ProxyTracer
seo:
  title: ProxyTracer — Python SDK
  description: >-
    Internal tracer that delegates to the currently active ``JudgmentTracer``.
    (Python SDK)
description: Internal tracer that delegates to the currently active ``JudgmentTracer``.
---

All span creation goes through this proxy so that instrumentation
libraries always target whichever tracer is active in the current
context, even when multiple tracers exist.

## \_\_init\_\_()

```python
def __init__(provider):
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `provider` | `JudgmentTracerProvider` | - | |

***

## start\_span()

```python
def start_span(name, context=None, kind=SpanKind.INTERNAL, attributes=None, links=None, start_time=None, record_exception=True, set_status_on_exception=True) -> Span:
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `name` | `str` | - | |
| `context?` | `Optional[Context]` | `None` | |
| `kind?` | `SpanKind` | `SpanKind.INTERNAL` | |
| `attributes?` | `Attributes` | `None` | |
| `links?` | `_Links` | `None` | |
| `start_time?` | `Optional[int]` | `None` | |
| `record_exception?` | `bool` | `True` | |
| `set_status_on_exception?` | `bool` | `True` | |

### Returns

`Span`

***

## start\_as\_current\_span()

```python
def start_as_current_span(name, context=None, kind=SpanKind.INTERNAL, attributes=None, links=None, start_time=None, record_exception=True, set_status_on_exception=True, end_on_exit=True):
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `name` | `str` | - | |
| `context?` | `Optional[Context]` | `None` | |
| `kind?` | `SpanKind` | `SpanKind.INTERNAL` | |
| `attributes?` | `Attributes` | `None` | |
| `links?` | `_Links` | `None` | |
| `start_time?` | `Optional[int]` | `None` | |
| `record_exception?` | `bool` | `True` | |
| `set_status_on_exception?` | `bool` | `True` | |
| `end_on_exit?` | `bool` | `True` | |
