Create custom events (Go)

Custom events are useful to explore data for a single event you are interested in, including data from external sources, at a particular moment in time. To track arbitrary event data for apps monitored by your New Relic Go agent, add RecordCustomEvent to the apps. You can then query and visualize the event data.

RecordCustomEvent parameters

To add RecordCustomEvent to your Go app, use this format:

RecordCustomEvent(eventType string, params map[string]interface{})
Parameter Description



Required. The name of the event type to record.

  • Must consist of alphanumeric characters, underscores _, or colons :.
  • Must contain no more than 255 bytes.
  • Must follow New Relic Insights data requirements for names, limits, and restricted characters.

params map

number, string, or boolean

Required. Specify key/value pairs of attributes to annotate the event.

  • Each value in the params map must be a number, string, or boolean.
  • Keys must be less than 255 bytes.
  • The params map must not contain more than 64 attributes.


Here is an example of a custom event for a Go app:

func customEvent(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "recording a custom event")

    app.RecordCustomEvent("my_event_type", map[string]interface{}{
        "myString": "hello",
        "myFloat":   0.603,
        "myInt":     123,
        "myBool":    true,

For more help

If you need more help, check out these support and learning resources: