Class: Appsignal::CLI::Diagnose Private

Inherits:
Object
  • Object
show all
Extended by:
Data, Helpers
Defined in:
lib/appsignal/cli/diagnose.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Command line tool to run diagnostics on your project.

This command line tool is useful when testing AppSignal on a system and validating the local configuration. It outputs useful information to debug issues and it checks if AppSignal agent is able to run on the machine's architecture and communicate with the AppSignal servers.

This diagnostic tool outputs the following:

  • if AppSignal can run on the host system.
  • if the configuration is valid and active.
  • if the Push API key is present and valid (internet connection required).
  • if the required system paths exist and are writable.
  • outputs AppSignal version information.
  • outputs information about the host system and Ruby.
  • outputs last lines from the available log files.

Exit codes

  • Exits with status code 0 if the diagnose command has finished.
  • Exits with status code 1 if the diagnose command failed to finished.

Examples:

On the command line in your project

appsignal diagnose

With a specific environment

appsignal diagnose --environment=production

See Also:

Since:

  • 1.1.0

Defined Under Namespace

Modules: Data

Constant Summary collapse

DIAGNOSE_ENDPOINT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Since:

  • 1.1.0

"https://appsignal.com/diag".freeze

Class Method Summary collapse

Methods included from Data

current_section, data, data_section, save

Class Method Details

.run(options = {}) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :environment (String)

    environment to load configuration for.

Since:

  • 1.1.0



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/appsignal/cli/diagnose.rb', line 71

def run(options = {})
  $stdout.sync = true
  header
  empty_line

  library_information
  empty_line

  host_information
  empty_line

  configure_appsignal(options)
  run_agent_diagnose_mode
  empty_line

  config
  empty_line

  check_api_key
  empty_line

  paths_section
  empty_line

  log_files

  transmit_report_to_appsignal if send_report_to_appsignal?
end