﻿---
title: Golang module
description: The golang module collects metrics by submitting HTTP GET requests to golang-expvar-api. The Golang module supports the standard configuration options...
url: https://docs-v3-preview.elastic.dev/elastic/beats/pull/47883/reference/metricbeat/metricbeat-module-golang
---

# Golang module
The golang module collects metrics by submitting HTTP GET requests to [golang-expvar-api](https://golang.org/pkg/expvar/).

## Example configuration

The Golang module supports the standard configuration options that are described in [Modules](https://docs-v3-preview.elastic.dev/elastic/beats/pull/47883/reference/metricbeat/configuration-metricbeat). Here is an example configuration:
```yaml
metricbeat.modules:
- module: golang
  #metricsets:
  #  - expvar
  #  - heap
  period: 10s
  hosts: ["localhost:6060"]
  heap.path: "/debug/vars"
  expvar:
    namespace: "example"
    path: "/debug/vars"
```

This module supports TLS connections when using `ssl` config field, as described in [SSL](https://docs-v3-preview.elastic.dev/elastic/beats/pull/47883/reference/metricbeat/configuration-ssl). It also supports the options described in [Standard HTTP config options](/elastic/beats/pull/47883/reference/metricbeat/configuration-metricbeat#module-http-config-options).

## Metricsets

The following metricsets are available:
- [expvar](https://docs-v3-preview.elastic.dev/elastic/beats/pull/47883/reference/metricbeat/metricbeat-metricset-golang-expvar)
- [heap](https://docs-v3-preview.elastic.dev/elastic/beats/pull/47883/reference/metricbeat/metricbeat-metricset-golang-heap)