mirror of
				https://github.com/taigrr/wtf
				synced 2025-01-18 04:03:14 -08:00 
			
		
		
		
	The NewRelic module relies on yfronto/newrelic, which no longer exists. yfronto deleted that directory quite awhile ago, and since then it has been vendored. But vendoring a missing repository creates problems when trying to update the vendored code. This PR brings the yfronto/newrelic code into the mainline. Signed-off-by: Chris Cummer <chriscummer@me.com>
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package newrelic
 | |
| 
 | |
| import (
 | |
| 	"strconv"
 | |
| )
 | |
| 
 | |
| // MobileApplicationSummary describes an Application's host.
 | |
| type MobileApplicationSummary struct {
 | |
| 	ActiveUsers     int     `json:"active_users,omitempty"`
 | |
| 	LaunchCount     int     `json:"launch_count,omitempty"`
 | |
| 	Throughput      float64 `json:"throughput,omitempty"`
 | |
| 	ResponseTime    float64 `json:"response_time,omitempty"`
 | |
| 	CallsPerSession float64 `json:"calls_per_session,omitempty"`
 | |
| 	InteractionTime float64 `json:"interaction_time,omitempty"`
 | |
| 	FailedCallRate  float64 `json:"failed_call_rate,omitempty"`
 | |
| 	RemoteErrorRate float64 `json:"remote_error_rate"`
 | |
| }
 | |
| 
 | |
| // MobileApplicationCrashSummary describes a MobileApplication's crash data.
 | |
| type MobileApplicationCrashSummary struct {
 | |
| 	SupportsCrashData    bool    `json:"supports_crash_data,omitempty"`
 | |
| 	UnresolvedCrashCount int     `json:"unresolved_crash_count,omitempty"`
 | |
| 	CrashCount           int     `json:"crash_count,omitempty"`
 | |
| 	CrashRate            float64 `json:"crash_rate,omitempty"`
 | |
| }
 | |
| 
 | |
| // MobileApplication describes a New Relic Application Host.
 | |
| type MobileApplication struct {
 | |
| 	ID            int                           `json:"id,omitempty"`
 | |
| 	Name          string                        `json:"name,omitempty"`
 | |
| 	HealthStatus  string                        `json:"health_status,omitempty"`
 | |
| 	Reporting     bool                          `json:"reporting,omitempty"`
 | |
| 	MobileSummary MobileApplicationSummary      `json:"mobile_summary,omitempty"`
 | |
| 	CrashSummary  MobileApplicationCrashSummary `json:"crash_summary,omitempty"`
 | |
| }
 | |
| 
 | |
| // GetMobileApplications returns a slice of New Relic Mobile Applications.
 | |
| func (c *Client) GetMobileApplications() ([]MobileApplication, error) {
 | |
| 	resp := &struct {
 | |
| 		Applications []MobileApplication `json:"applications,omitempty"`
 | |
| 	}{}
 | |
| 	path := "mobile_applications.json"
 | |
| 	err := c.doGet(path, nil, resp)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return resp.Applications, nil
 | |
| }
 | |
| 
 | |
| // GetMobileApplication returns a single Mobile Application with the id.
 | |
| func (c *Client) GetMobileApplication(id int) (*MobileApplication, error) {
 | |
| 	resp := &struct {
 | |
| 		Application MobileApplication `json:"application,omitempty"`
 | |
| 	}{}
 | |
| 	path := "mobile_applications/" + strconv.Itoa(id) + ".json"
 | |
| 	err := c.doGet(path, nil, resp)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return &resp.Application, nil
 | |
| }
 |