All Projects → newrelic → Newrelic Client Go

newrelic / Newrelic Client Go

Licence: apache-2.0
New Relic Client for the Go programming language

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Newrelic Client Go

Express Reloadable
Automatically hot-swap Express server code without the restart
Stars: ✭ 20 (-52.38%)
Mutual labels:  developer-tools
Elm Live
⚡ A flexible dev server for Elm. Live reload included.
Stars: ✭ 973 (+2216.67%)
Mutual labels:  developer-tools
Scm Backup
Makes offline backups of your cloud hosted source code repositories
Stars: ✭ 38 (-9.52%)
Mutual labels:  developer-tools
Localstack
💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline!
Stars: ✭ 37,724 (+89719.05%)
Mutual labels:  developer-tools
Developers Arsenal 2017
😎 Curated list of awesome tools and resources for developers
Stars: ✭ 32 (-23.81%)
Mutual labels:  developer-tools
Shuttle
Easily create native mobile applications.
Stars: ✭ 36 (-14.29%)
Mutual labels:  developer-tools
Git Project
Manage a large number of local git repositories with ease!
Stars: ✭ 14 (-66.67%)
Mutual labels:  developer-tools
Ferrum
Headless Chrome Ruby API
Stars: ✭ 1,009 (+2302.38%)
Mutual labels:  developer-tools
Swagger Ui Cimpress
A swagger-ui fork with an easy to read, responsive three pane view.
Stars: ✭ 32 (-23.81%)
Mutual labels:  developer-tools
Local Development
[Deprecated] Run Hasura locally on your computer
Stars: ✭ 38 (-9.52%)
Mutual labels:  developer-tools
Requestdiff
Send two HTTP requests and visualize any differences
Stars: ✭ 28 (-33.33%)
Mutual labels:  developer-tools
Sendria
Sendria (formerly MailTrap) is a SMTP server designed to run in your dev/test environment, that is designed to catch any email you or your application is sending, and display it in a web interface instead of sending to real world.
Stars: ✭ 30 (-28.57%)
Mutual labels:  developer-tools
Magento2 Easy Template Path Hints
Magento 2 Easy Template Path Hints
Stars: ✭ 36 (-14.29%)
Mutual labels:  developer-tools
Hoppscotch
👽 Open source API development ecosystem https://hoppscotch.io
Stars: ✭ 34,569 (+82207.14%)
Mutual labels:  developer-tools
Developer Tools And Resources
The Best Tools and Resources for developers
Stars: ✭ 39 (-7.14%)
Mutual labels:  developer-tools
Chromelogger
chrome extension for server side console logging
Stars: ✭ 884 (+2004.76%)
Mutual labels:  developer-tools
Dvc
🦉Data Version Control | Git for Data & Models | ML Experiments Management
Stars: ✭ 9,004 (+21338.1%)
Mutual labels:  developer-tools
8bp
8 bits de poder ( 8 bits of power)
Stars: ✭ 41 (-2.38%)
Mutual labels:  developer-tools
Laravel Mail View
Preview Laravel Mailables and notifications in your browser.
Stars: ✭ 41 (-2.38%)
Mutual labels:  developer-tools
Thedev.id
🎉 An identity for developers on the web.
Stars: ✭ 37 (-11.9%)
Mutual labels:  developer-tools

Community Project header

newrelic-client-go

Testing Security Scan Go Report Card GoDoc License CLA assistant Release

The New Relic Client provides the building blocks for tools in the Developer Toolkit, enabling quick access to the suite of New Relic APIs. As a library, it can also be leveraged within your own custom applications.

Example

package main

import (
	"fmt"
	"os"

	log "github.com/sirupsen/logrus"

	"github.com/newrelic/newrelic-client-go/newrelic"
	"github.com/newrelic/newrelic-client-go/pkg/entities"
)

func main() {
	// Initialize the client.
	client, err := newrelic.New(newrelic.ConfigPersonalAPIKey(os.Getenv("NEW_RELIC_API_KEY")))
	if err != nil {
		log.Fatal("error initializing client:", err)
	}

	// Search the current account for entities by name and type.
	searchParams := entities.SearchEntitiesParams{
		Name: "Example entity",
		Type: entities.EntityTypes.Application,
	}

	entities, err := client.Entities.SearchEntities(searchParams)
	if err != nil {
		log.Fatal("error searching entities:", err)
	}

	fmt.Printf("%+v\n", entities)
}

Community

New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices.

  • Roadmap - As part of the Developer Toolkit, the roadmap for this project follows the same RFC process
  • Issues or Enhancement Requests - Issues and enhancement requests can be submitted in the Issues tab of this repository. Please search for and review the existing open issues before submitting a new issue.
  • Contributors Guide - Contributions are welcome (and if you submit a Enhancement Request, expect to be invited to contribute it yourself 😁).
  • Community discussion board - Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub.

Keep in mind that when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. If you'd like to execute our corporate CLA, or if you have any questions, please drop us an email at [email protected].

Development

Requirements

  • Go 1.14.0+
  • GNU Make
  • git

Building

This package does not generate any direct usable assets (it's a library). You can still run the build scripts to validate you code, and generate coverage information.

# Default target is 'build'
$ make

# Explicitly run build
$ make build

# Locally test the CI build scripts
# make build-ci

Testing

Before contributing, all linting and tests must pass.

Tests can be run directly via:

# Tests and Linting
$ make test

# Only unit tests
$ make test-unit

# Only integration tests
$ make test-integration

Integration tests

Integration tests communicate with the New Relic API, and therefore require proper account credentials to run properly. The suite makes use of secrets, which will need to be configured in the environment or else the integraiton tests will be skipped during a test run. To run the integration test suite, the following secrets will need to be configured:

NEW_RELIC_ACCOUNT_ID
NEW_RELIC_API_KEY
NEW_RELIC_INSIGHTS_INSERT_KEY
NEW_RELIC_LICENSE_KEY
NEW_RELIC_REGION
NEW_RELIC_TEST_USER_ID

Optional for debugging (defaults to debug):

NEW_RELIC_LOG_LEVEL=trace

Go Version Support

We'll aim to support the latest supported release of Go, along with the previous release. This doesn't mean that building with an older version of Go will not work, but we don't intend to support a Go version in this project that is not supported by the larger Go community. Please see the Go releases page for more details.

Commit Messages

Using the following format for commit messages allows for auto-generation of the CHANGELOG:

Format

<type>(<scope>): <subject>

Type Description Change log?
chore Maintenance type work No
docs Documentation Updates Yes
feat New Features Yes
fix Bug Fixes Yes
refactor Code Refactoring No

Scope

This refers to what part of the code is the focus of the work. For example:

General:

  • build - Work related to the build system (linting, makefiles, CI/CD, etc)
  • release - Work related to cutting a new release

Package Specific:

  • newrelic - Work related to the New Relic package
  • http - Work related to the internal/http package
  • alerts - Work related to the pkg/alerts package

Documentation

Note: This requires the repo to be in your GOPATH (godoc issue)

$ make docs

Community Support

New Relic hosts and moderates an online forum where you can interact with New Relic employees as well as other customers to get help and share best practices. Like all New Relic open source community projects, there's a related topic in the New Relic Explorers Hub. You can find our team's project topic/threads here:

Developer ToolKit

Please do not report issues with Top to New Relic Global Technical Support. Instead, visit the Explorers Hub for troubleshooting and best-practices.

Issues / Enhancement Requests

Issues and enhancement requests can be submitted in te Issues tab of this repository. Please search for and review the existing open issues before submitting a new issue.

Contributing

Contributions are welcome (and if you submit a Enhancement Request, expect to be invited to contribute it yourself 😁). Please review our Contributors Guide.

Keep in mind that when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. If you'd like to execute our corporate CLA, or if you have any questions, please drop us an email at [email protected].

Open Source License

This project is distributed under the Apache 2 license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].