<!-- Code generated by gomarkdoc. DO NOT EDIT -->

# otel

```go
import "github.com/danmestas/libfossil/observer/otel"
```

Package otel provides OpenTelemetry implementations of the libfossil SyncObserver and CheckoutObserver interfaces. Import this package only when you want OTel instrumentation — it pulls in the OTel SDK dependency.

## Index

- [type CheckoutObserver](<#CheckoutObserver>)
  - [func NewCheckoutObserver\(\) \*CheckoutObserver](<#NewCheckoutObserver>)
  - [func \(o \*CheckoutObserver\) CommitCompleted\(info libfossil.CommitEnd\)](<#CheckoutObserver.CommitCompleted>)
  - [func \(o \*CheckoutObserver\) CommitStarted\(info libfossil.CommitStart\)](<#CheckoutObserver.CommitStarted>)
  - [func \(o \*CheckoutObserver\) Error\(err error\)](<#CheckoutObserver.Error>)
  - [func \(o \*CheckoutObserver\) ExtractCompleted\(info libfossil.ExtractEnd\)](<#CheckoutObserver.ExtractCompleted>)
  - [func \(o \*CheckoutObserver\) ExtractFileCompleted\(name string, change libfossil.UpdateChange\)](<#CheckoutObserver.ExtractFileCompleted>)
  - [func \(o \*CheckoutObserver\) ExtractStarted\(info libfossil.ExtractStart\)](<#CheckoutObserver.ExtractStarted>)
  - [func \(o \*CheckoutObserver\) ScanCompleted\(info libfossil.ScanEnd\)](<#CheckoutObserver.ScanCompleted>)
  - [func \(o \*CheckoutObserver\) ScanStarted\(dir string\)](<#CheckoutObserver.ScanStarted>)
  - [func \(o \*CheckoutObserver\) String\(\) string](<#CheckoutObserver.String>)
- [type SyncObserver](<#SyncObserver>)
  - [func NewSyncObserver\(\) \*SyncObserver](<#NewSyncObserver>)
  - [func \(o \*SyncObserver\) Completed\(info libfossil.SessionEnd\)](<#SyncObserver.Completed>)
  - [func \(o \*SyncObserver\) Error\(err error\)](<#SyncObserver.Error>)
  - [func \(o \*SyncObserver\) HandleCompleted\(info libfossil.HandleEnd\)](<#SyncObserver.HandleCompleted>)
  - [func \(o \*SyncObserver\) HandleStarted\(info libfossil.HandleStart\)](<#SyncObserver.HandleStarted>)
  - [func \(o \*SyncObserver\) RoundCompleted\(round int, stats libfossil.RoundStats\)](<#SyncObserver.RoundCompleted>)
  - [func \(o \*SyncObserver\) RoundStarted\(round int\)](<#SyncObserver.RoundStarted>)
  - [func \(o \*SyncObserver\) Started\(info libfossil.SessionStart\)](<#SyncObserver.Started>)
  - [func \(o \*SyncObserver\) String\(\) string](<#SyncObserver.String>)
  - [func \(o \*SyncObserver\) TableSyncCompleted\(info libfossil.TableSyncEnd\)](<#SyncObserver.TableSyncCompleted>)
  - [func \(o \*SyncObserver\) TableSyncStarted\(info libfossil.TableSyncStart\)](<#SyncObserver.TableSyncStarted>)


<a name="CheckoutObserver"></a>
## type [CheckoutObserver](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L208-L223>)

CheckoutObserver implements libfossil.CheckoutObserver using OpenTelemetry spans and metrics.

```go
type CheckoutObserver struct {
    // contains filtered or unexported fields
}
```

<a name="NewCheckoutObserver"></a>
### func [NewCheckoutObserver](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L227>)

```go
func NewCheckoutObserver() *CheckoutObserver
```

NewCheckoutObserver returns a CheckoutObserver that records spans and metrics using the OTel global tracer and meter providers.

<a name="CheckoutObserver.CommitCompleted"></a>
### func \(\*CheckoutObserver\) [CommitCompleted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L328>)

```go
func (o *CheckoutObserver) CommitCompleted(info libfossil.CommitEnd)
```



<a name="CheckoutObserver.CommitStarted"></a>
### func \(\*CheckoutObserver\) [CommitStarted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L314>)

```go
func (o *CheckoutObserver) CommitStarted(info libfossil.CommitStart)
```



<a name="CheckoutObserver.Error"></a>
### func \(\*CheckoutObserver\) [Error](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L347>)

```go
func (o *CheckoutObserver) Error(err error)
```



<a name="CheckoutObserver.ExtractCompleted"></a>
### func \(\*CheckoutObserver\) [ExtractCompleted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L277>)

```go
func (o *CheckoutObserver) ExtractCompleted(info libfossil.ExtractEnd)
```



<a name="CheckoutObserver.ExtractFileCompleted"></a>
### func \(\*CheckoutObserver\) [ExtractFileCompleted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L264>)

```go
func (o *CheckoutObserver) ExtractFileCompleted(name string, change libfossil.UpdateChange)
```



<a name="CheckoutObserver.ExtractStarted"></a>
### func \(\*CheckoutObserver\) [ExtractStarted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L250>)

```go
func (o *CheckoutObserver) ExtractStarted(info libfossil.ExtractStart)
```



<a name="CheckoutObserver.ScanCompleted"></a>
### func \(\*CheckoutObserver\) [ScanCompleted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L301>)

```go
func (o *CheckoutObserver) ScanCompleted(info libfossil.ScanEnd)
```



<a name="CheckoutObserver.ScanStarted"></a>
### func \(\*CheckoutObserver\) [ScanStarted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L291>)

```go
func (o *CheckoutObserver) ScanStarted(dir string)
```



<a name="CheckoutObserver.String"></a>
### func \(\*CheckoutObserver\) [String](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L369>)

```go
func (o *CheckoutObserver) String() string
```



<a name="SyncObserver"></a>
## type [SyncObserver](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L23-L39>)

SyncObserver implements libfossil.SyncObserver using OpenTelemetry spans and metrics.

```go
type SyncObserver struct {
    // contains filtered or unexported fields
}
```

<a name="NewSyncObserver"></a>
### func [NewSyncObserver](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L43>)

```go
func NewSyncObserver() *SyncObserver
```

NewSyncObserver returns a SyncObserver that records spans and metrics using the OTel global tracer and meter providers.

<a name="SyncObserver.Completed"></a>
### func \(\*SyncObserver\) [Completed](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L126>)

```go
func (o *SyncObserver) Completed(info libfossil.SessionEnd)
```



<a name="SyncObserver.Error"></a>
### func \(\*SyncObserver\) [Error](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L142>)

```go
func (o *SyncObserver) Error(err error)
```



<a name="SyncObserver.HandleCompleted"></a>
### func \(\*SyncObserver\) [HandleCompleted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L166>)

```go
func (o *SyncObserver) HandleCompleted(info libfossil.HandleEnd)
```



<a name="SyncObserver.HandleStarted"></a>
### func \(\*SyncObserver\) [HandleStarted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L155>)

```go
func (o *SyncObserver) HandleStarted(info libfossil.HandleStart)
```



<a name="SyncObserver.RoundCompleted"></a>
### func \(\*SyncObserver\) [RoundCompleted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L100>)

```go
func (o *SyncObserver) RoundCompleted(round int, stats libfossil.RoundStats)
```



<a name="SyncObserver.RoundStarted"></a>
### func \(\*SyncObserver\) [RoundStarted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L85>)

```go
func (o *SyncObserver) RoundStarted(round int)
```



<a name="SyncObserver.Started"></a>
### func \(\*SyncObserver\) [Started](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L69>)

```go
func (o *SyncObserver) Started(info libfossil.SessionStart)
```



<a name="SyncObserver.String"></a>
### func \(\*SyncObserver\) [String](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L368>)

```go
func (o *SyncObserver) String() string
```

String returns a human\-readable description.

<a name="SyncObserver.TableSyncCompleted"></a>
### func \(\*SyncObserver\) [TableSyncCompleted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L191>)

```go
func (o *SyncObserver) TableSyncCompleted(info libfossil.TableSyncEnd)
```



<a name="SyncObserver.TableSyncStarted"></a>
### func \(\*SyncObserver\) [TableSyncStarted](<https://github.com/danmestas/libfossil/blob/main/observer/otel/otel.go#L180>)

```go
func (o *SyncObserver) TableSyncStarted(info libfossil.TableSyncStart)
```



Generated by [gomarkdoc](<https://github.com/princjef/gomarkdoc>)
