func WithBatchObserver(observer gocql.BatchObserver) Option {
	return optionFunc(func(cfg *config) {
		cfg.batchObserver = observer
	})
}
WithBatchObserver sets an additional BatchObserver to the session configuration. Use this if
there is an existing BatchObserver that you would like called. It will be called after the
OpenTelemetry implementation, if it is not nil. Defaults to nil.
package otelgocql
import (
	"github.com/gocql/gocql"
	"go.opentelemetry.io/otel"
	"go.opentelemetry.io/otel/metric"
	"go.opentelemetry.io/otel/metric/global"
	"go.opentelemetry.io/otel/trace"
)
type config struct {
	tracerProvider    trace.TracerProvider
	meterProvider     metric.MeterProvider
	instrumentQuery   bool
	instrumentBatch   bool
	instrumentConnect bool
	queryObserver     gocql.QueryObserver
	batchObserver     gocql.BatchObserver
	connectObserver   gocql.ConnectObserver
}
type Option interface {
	apply(*config)
}
type optionFunc func(*config)
func (o optionFunc) apply(c *config) {
	o(c)
}
func WithQueryObserver(observer gocql.QueryObserver) Option {
	return optionFunc(func(cfg *config) {
		cfg.queryObserver = observer
	})
}