If you're interested in contributing, take a look at the general [contributer's guide](https://github.com/Microsoft/ApplicationInsights-Home/blob/master/CONTRIBUTING.md) first.
If you're interested in contributing, take a look at the general [contributer's guide](https://github.com/microsoft/ApplicationInsights-Home/blob/master/CONTRIBUTING.md) first.
@ -10,8 +10,7 @@ telemetry of various kinds (event, metric, trace) to the Application
Insights service where they can be visualized in the Azure Portal.
## Status
This SDK is considered to be pre-production. It has not reached parity with
some of the more mature SDK's. In particular, the gaps are:
This SDK is NOT maintained or supported by Microsoft even though we've contributed to it in the past. Note that Azure Monitor only provides support when using our [supported SDKs](https://docs.microsoft.com/en-us/azure/azure-monitor/app/platforms#unsupported-community-sdks), and this SDK does not yet meet that standard. Known gaps include:
* Operation correlation is not supported, but this can be managed by the
caller through the interfaces that exist today.
@ -23,28 +22,25 @@ some of the more mature SDK's. In particular, the gaps are:
spilling events to disk in case of network interruption. This SDK has no
such feature.
Additionally, this is considered a community-supported SDK. Read more about
We’re constantly assessing opportunities to expand our support for other languages, so follow our [GitHub Announcements](https://github.com/microsoft/ApplicationInsights-Announcements/issues) page to receive the latest SDK news.
## Requirements
**Install**
```
go get github.com/Microsoft/ApplicationInsights-Go/appinsights
go get github.com/microsoft/ApplicationInsights-Go/appinsights
```
**Get an instrumentation key**
>**Note**: an instrumentation key is required before any data can be sent. Please see the "[Getting an Application Insights Instrumentation Key](https://github.com/Microsoft/AppInsights-Home/wiki#getting-an-application-insights-instrumentation-key)" section of the wiki for more information. To try the SDK without an instrumentation key, set the instrumentationKey config value to a non-empty string.
>**Note**: an instrumentation key is required before any data can be sent. Please see the "[Getting an Application Insights Instrumentation Key](https://github.com/microsoft/AppInsights-Home/wiki#getting-an-application-insights-instrumentation-key)" section of the wiki for more information. To try the SDK without an instrumentation key, set the instrumentationKey config value to a non-empty string.
# Usage
## Setup
To start tracking telemetry, you'll want to first initialize a
The Go SDK submits data asynchronously. The [InMemoryChannel](https://godoc.org/github.com/Microsoft/ApplicationInsights-Go/appinsights/#InMemoryChannel)
The Go SDK submits data asynchronously. The [InMemoryChannel](https://godoc.org/github.com/microsoft/ApplicationInsights-Go/appinsights/#InMemoryChannel)
launches its own goroutine used to accept and send telemetry. If you're not
careful, this may result in lost telemetry when the service needs to shut
down. The channel has a few methods to deal with this case:
@ -513,7 +509,7 @@ func main() {
We recommend something similar to the above to minimize lost telemetry