mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
75 lines
2.2 KiB
Markdown
75 lines
2.2 KiB
Markdown
[](http://godoc.org/github.com/yfronto/newrelic)
|
|
[](https://travis-ci.org/yfronto/newrelic)
|
|
|
|
# New Relic API library for Go
|
|
|
|
This is a Go library that wraps the [New Relic][1] REST
|
|
API. It provides the needed types to interact with the New Relic REST API.
|
|
|
|
It's still in progress and I haven't finished the entirety of the API, yet. I
|
|
plan to finish all GET (read) operations before any POST (create) operations,
|
|
and then PUT (update) operations, and, finally, the DELETE operations.
|
|
|
|
The API documentation can be found from [New Relic][1],
|
|
and you'll need an API key (for some operations, an Admin API key is
|
|
required).
|
|
|
|
## USAGE
|
|
|
|
This library will provide a client object and any operations can be performed
|
|
through it. Simply import this library and create a client to get started:
|
|
|
|
```go
|
|
package main
|
|
|
|
import (
|
|
"github.com/yfronto/newrelic"
|
|
)
|
|
|
|
var api_key = "..." // Required
|
|
|
|
func main() {
|
|
// Create the client object
|
|
client := newrelic.NewClient(api_key)
|
|
|
|
// Get the applciation with ID 12345
|
|
myApp, err := client.GetApplication(12345)
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Work with the object
|
|
fmt.Println(myApp.Name)
|
|
|
|
// Some operations accept options
|
|
opts := &newrelic.AlertEventOptions{
|
|
// Only events with "MyProduct" as the product name
|
|
Filter: newRelic.AlertEventFilter{
|
|
Product: "MyProduct",
|
|
},
|
|
}
|
|
// Get a list of recent events for my product
|
|
events, err := client.GetAlertEvents(opts)
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
// Display each event with some information
|
|
for _, e := range events {
|
|
fmt.Printf("%d -- %d (%s): %s\n", e.Timestamp, e.Id, e.Priority, e.Description)
|
|
}
|
|
}
|
|
```
|
|
|
|
## Contributing
|
|
|
|
As I work to populate all actions, bugs are bound to come up. Feel free to
|
|
send me a pull request or just file an issue. Staying up to date with an API
|
|
is hard work and I'm happy to accept contributors.
|
|
|
|
**DISCLAIMER:** *I am in no way affiliated with New Relic and this work is
|
|
merely a convenience project for myself with no guarantees. It should be
|
|
considered "as-is" with no implication of responsibility. See the included
|
|
LICENSE for more details.*
|
|
|
|
[1]: http://www.newrelic.com |