report

package
v0.0.0-...-17b87e8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 29, 2020 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package report contains functions that process kernel output, detect/extract crash messages, symbolize them, etc.

Index

Constants

View Source
const (
	VMDiagnosisStart = "\nVM DIAGNOSIS:\n"
)

Variables

This section is empty.

Functions

func Fuzz

func Fuzz(data []byte) int

func GetLinuxMaintainers

func GetLinuxMaintainers(kernelSrc, file string) ([]string, error)

func IsSuppressed

func IsSuppressed(reporter Reporter, output []byte) bool

Types

type Report

type Report struct {
	// Title contains a representative description of the first oops.
	Title string
	// Bug type (e.g. hang, memory leak, etc).
	Type Type
	// The indicative function name.
	Frame string
	// Report contains whole oops text.
	Report []byte
	// Output contains whole raw console output as passed to Reporter.Parse.
	Output []byte
	// StartPos/EndPos denote region of output with oops message(s).
	StartPos int
	EndPos   int
	// SkipPos is position in output where parsing for the next report should start.
	SkipPos int
	// Suppressed indicates whether the report should not be reported to user.
	Suppressed bool
	// Corrupted indicates whether the report is truncated of corrupted in some other way.
	Corrupted bool
	// CorruptedReason contains reason why the report is marked as corrupted.
	CorruptedReason string
	// Maintainers is list of maintainer emails (filled in by Symbolize).
	Maintainers []string
	// contains filtered or unexported fields
}

func ParseAll

func ParseAll(reporter Reporter, output []byte) (reports []*Report)

ParseAll returns all successive reports in output.

type Reporter

type Reporter interface {
	// ContainsCrash searches kernel console output for oops messages.
	ContainsCrash(output []byte) bool

	// Parse extracts information about oops from console output.
	// Returns nil if no oops found.
	Parse(output []byte) *Report

	// Symbolize symbolizes rep.Report and fills in Maintainers.
	Symbolize(rep *Report) error
}

func NewReporter

func NewReporter(cfg *mgrconfig.Config) (Reporter, error)

NewReporter creates reporter for the specified OS/Type.

type Type

type Type int
const (
	Unknown Type = iota
	Hang
	MemoryLeak
	DataRace
	UnexpectedReboot
)

func (Type) String

func (t Type) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL