27 lines
704 B
Go
27 lines
704 B
Go
package application_insights
|
|
|
|
import (
|
|
"github.com/microsoft/ApplicationInsights-Go/appinsights"
|
|
)
|
|
|
|
type Transmitter struct {
|
|
client appinsights.TelemetryClient
|
|
}
|
|
|
|
func NewTransmitter(ikey, endpointURL string) *Transmitter {
|
|
if len(endpointURL) == 0 {
|
|
return &Transmitter{client: appinsights.NewTelemetryClient(ikey)}
|
|
}
|
|
|
|
telemetryConfig := appinsights.NewTelemetryConfiguration(ikey)
|
|
telemetryConfig.EndpointUrl = endpointURL
|
|
return &Transmitter{client: appinsights.NewTelemetryClientFromConfig(telemetryConfig)}
|
|
}
|
|
|
|
func (t *Transmitter) Track(telemetry appinsights.Telemetry) {
|
|
t.client.Track(telemetry)
|
|
}
|
|
|
|
func (t *Transmitter) Close() <-chan struct{} {
|
|
return t.client.Channel().Close(0)
|
|
}
|