Versions in this module Expand all Collapse all v1 v1.6.0 Jul 29, 2026 v1.5.2 Mar 19, 2026 Changes in this version + const APIServerClusterOperatorWatcher + const APIServerGracefulShutdown + const ConstructionOwnerEtcdLifecycle + const ConstructionOwnerLeaseChecker + const ConstructionOwnerMachineLifecycle + const ConstructionOwnerNodeLifecycle + const ConstructionOwnerOnPremHaproxy + const ConstructionOwnerOnPremKeepalived + const ConstructionOwnerPodLifecycle + const ContainerErrImagePull + const ContainerUnrecognizedSignatureFormat + const CrioPanic + const EventDir + const KubeletPanic + const ObservedRecreationCountAnnotation + const ObservedUpdateCountAnnotation + const PodIPReused + const SourceAPIServerShutdown + const SourceAPIUnreachableFromClient + const SourceAlert + const SourceAuditLog + const SourceCPUMonitor + const SourceCloudMetrics + const SourceClusterOperatorMonitor + const SourceCrioLog + const SourceDisruption + const SourceE2ETest + const SourceEtcdDiskCommitDuration + const SourceEtcdDiskWalFsyncDuration + const SourceEtcdLeadership + const SourceEtcdLog + const SourceGenerationMonitor + const SourceHaproxyMonitor + const SourceKeepalivedMonitor + const SourceKubeEvent + const SourceKubeletLog + const SourceMachine + const SourceMetricsEndpointDown + const SourceNetworkManagerLog + const SourceNodeMonitor + const SourceNodeState + const SourceOVSVswitchdLog + const SourceOperatorState + const SourcePathologicalEventMarker + const SourcePodLog + const SourcePodMonitor + const SourcePodState + const SourceStaticPodInstallMonitor + const SourceSystemdCoreDumpLog + const SourceTestBucket + const SourceTestData + const SourceUnexpectedReady + const SourceUnreachable + const SourceVersionState + const TimeFormat + var ContainerLifecycleTransitionReasons = sets.New[IntervalReason](ContainerReasonContainerWait, ContainerReasonContainerStart, ...) + var ContainerReadinessTransitionReasons = sets.New[IntervalReason](ContainerReasonReady, ContainerReasonNotReady) + var KubeletReadinessCheckReasons = sets.New[IntervalReason](ContainerReasonReadinessFailed, ContainerReasonReadinessErrored, ...) + var PodLifecycleTransitionReasons = sets.New[IntervalReason](PodReasonCreated, PodReasonScheduled, PodReasonGracefulDeleteStarted, ...) + func AlertFrom(locatorParts map[string]string) string + func AnnotationsFromMessage(message string) map[AnnotationKey]string + func BackendDisruptionNameFromLocator(locator Locator) string + func BackendDisruptionSeconds(backendDisruptionName string, events Intervals) (time.Duration, []string) + func E2ETestFromLocator(l Locator) (string, bool) + func GetNodeRoles(event Interval) string + func GetOperatorConditionHumanMessage(s *configv1.ClusterOperatorStatusCondition, prefix string) string + func GetOperatorConditionStatus(interval Interval) *configv1.ClusterOperatorStatusCondition + func HasRealLoadBalancer(eventInterval Interval) bool + func IsDisruptionEvent(eventInterval Interval) bool + func IsE2ETest(l Locator) bool + func IsErrorEvent(eventInterval Interval) bool + func IsInE2ENamespace(eventInterval Interval) bool + func IsInfoEvent(eventInterval Interval) bool + func IsNode(locator Locator) bool + func IsWarningEvent(eventInterval Interval) bool + func LocatorParts(locator string) map[string]string + func NamespaceFrom(locatorParts map[string]string) string + func NamespaceFromLocator(locator Locator) string + func NodeFrom(locatorParts map[string]string) string + func NodeFromLocator(locator string) (string, bool) + func NodeLeaseBackoff(eventInterval Interval) bool + func NodeUpdate(eventInterval Interval) bool + func NonAnnotationMessage(message string) string + func NonUniquePodLocatorFrom(locator Locator) string + func OperatorFrom(locatorParts map[string]string) string + func PhaseFrom(message string) string + func ThisDisruptionInstanceFrom(locatorParts map[string]string) string + type AnnotationKey string + const AnnotationAlertState + const AnnotationCause + const AnnotationCondition + const AnnotationConfig + const AnnotationConstructed + const AnnotationContainer + const AnnotationContainerExitCode + const AnnotationCount + const AnnotationDuration + const AnnotationEtcdLeader + const AnnotationEtcdLocalMember + const AnnotationEtcdTerm + const AnnotationImage + const AnnotationInteresting + const AnnotationIsStaticPod + const AnnotationNode + const AnnotationPathological + const AnnotationPercentage + const AnnotationPhase + const AnnotationPreviousEtcdLeader + const AnnotationPreviousPhase + const AnnotationPreviousPriority + const AnnotationPriority + const AnnotationReason + const AnnotationRequestAuditID + const AnnotationRoles + const AnnotationSeverity + const AnnotationState + const AnnotationStatus + const AnnotationVIP + type BackendConnectionType string + const NewConnectionType + const ReusedConnectionType + func DisruptionConnectionTypeFrom(locatorParts map[string]string) BackendConnectionType + type ByTimeWithNamespacedPods []Interval + func (intervals ByTimeWithNamespacedPods) Len() int + func (intervals ByTimeWithNamespacedPods) Less(i, j int) bool + func (intervals ByTimeWithNamespacedPods) Swap(i, j int) + type Condition struct + Level IntervalLevel + Locator Locator + Message Message + func (o *Condition) DeepCopy() *Condition + type ConstructionOwner string + type ContainerReference struct + ContainerName string + Pod PodReference + func ContainerFrom(locator Locator) ContainerReference + func (r ContainerReference) ToLocator() Locator + type EventIntervalMatchesFunc func(eventInterval Interval) bool + func AlertFiring() EventIntervalMatchesFunc + func AlertPending() EventIntervalMatchesFunc + func And(filters ...EventIntervalMatchesFunc) EventIntervalMatchesFunc + func ContainsAllParts(matchers map[string][]*regexp.Regexp) EventIntervalMatchesFunc + func EndedAfter(limit time.Time) EventIntervalMatchesFunc + func IsEventForBackendDisruptionName(backendDisruptionName string) EventIntervalMatchesFunc + func IsEventForLocator(locator Locator) EventIntervalMatchesFunc + func IsForDisruptionBackend(backend string) EventIntervalMatchesFunc + func IsInNamespaces(namespaces sets.String) EventIntervalMatchesFunc + func Not(filter EventIntervalMatchesFunc) EventIntervalMatchesFunc + func NotContainsAllParts(matchers map[string][]*regexp.Regexp) EventIntervalMatchesFunc + func Or(filters ...EventIntervalMatchesFunc) EventIntervalMatchesFunc + func StartedBefore(limit time.Time) EventIntervalMatchesFunc + type InstanceKey struct + Name string + Namespace string + UID string + type InstanceMap map[InstanceKey]runtime.Object + type Interval struct + Display bool + From time.Time + Source IntervalSource + To time.Time + func (i Interval) String() string + func (o *Interval) DeepCopy() *Interval + type IntervalBuilder struct + func NewInterval(source IntervalSource, level IntervalLevel) *IntervalBuilder + func (b *IntervalBuilder) Build(from, to time.Time) Interval + func (b *IntervalBuilder) BuildCondition() Condition + func (b *IntervalBuilder) BuildNow() Interval + func (b *IntervalBuilder) Display() *IntervalBuilder + func (b *IntervalBuilder) Locator(locator Locator) *IntervalBuilder + func (b *IntervalBuilder) Message(mb *MessageBuilder) *IntervalBuilder + type IntervalFilter func(i Interval) bool + type IntervalFilters []IntervalFilter + func (filters IntervalFilters) All(i Interval) bool + func (filters IntervalFilters) Any(i Interval) bool + type IntervalLevel int + const Error + const Info + const Warning + func ConditionLevelFromString(s string) (IntervalLevel, error) + func (e IntervalLevel) String() string + type IntervalReason string + const APIUnreachableFromClientMetrics + const CloudMetricsExtrenuous + const CloudMetricsLBAvailability + const CloudMetricsLBHealthEvent + const ContainerReasonContainerExit + const ContainerReasonContainerStart + const ContainerReasonContainerWait + const ContainerReasonNotReady + const ContainerReasonReadinessErrored + const ContainerReasonReadinessFailed + const ContainerReasonReady + const ContainerReasonRestarted + const ContainerReasonStartupProbeFailed + const DisruptionBeganEventReason + const DisruptionEndedEventReason + const DisruptionSamplerOutageBeganEventReason + const E2ETestFinished + const E2ETestStarted + const FailedContactingAPIReason + const FailedToAuthenticateWithOpenShiftUser + const FailedToDeleteCGroupsPath + const GracefulAPIServerShutdown + const HttpClientConnectionLost + const IPTablesNotPermitted + const IncompleteAPIServerShutdown + const LeaseAcquired + const LeaseAcquiring + const LeaseAcquiringStarted + const MachineConfigChangeReason + const MachineConfigReachedReason + const MachineCreated + const MachineDeletedInAPI + const MachinePhase + const MachinePhaseChanged + const NodeDeleted + const NodeDiskPressure + const NodeFailedLease + const NodeFailedLeaseBackoff + const NodeInstallerReason + const NodeNoDiskPressure + const NodeNotReadyReason + const NodeUnexpectedReadyReason + const NodeUnexpectedUnreachableReason + const NodeUnreachable + const NodeUpdateReason + const OnPremHaproxyDetectsDown + const OnPremHaproxyStatusChange + const OnPremLBLostVIP + const OnPremLBPriorityChange + const OnPremLBTookVIP + const PodNotPendingReason + const PodPendingReason + const PodReasonCreated + const PodReasonDeleted + const PodReasonDeletedAfterCompletion + const PodReasonDeletedBeforeScheduling + const PodReasonEvicted + const PodReasonFailed + const PodReasonForceDelete + const PodReasonGracefulDeleteStarted + const PodReasonNotReady + const PodReasonPreempted + const PodReasonReady + const PodReasonScheduled + const ReasonBadOperatorApply + const ReasonEtcdBootstrap + const ReasonHighGeneration + const ReasonInvalidGeneration + const ReasonKubeAPIServer500s + const ReasonProcessDumpedCore + const TerminationStateCleared + const Timeout + const UnhealthyReason + const UpgradeCompleteReason + const UpgradeFailedReason + const UpgradeRollbackReason + const UpgradeStartedReason + const UpgradeVersionReason + func ConstructionOwnerFrom(message string) IntervalReason + func ReasonFrom(message string) IntervalReason + func (r IntervalReason) String() string + type IntervalSource string + type Intervals []Interval + func (intervals Intervals) Clamp(from, to time.Time) + func (intervals Intervals) Cut(from, to time.Time) Intervals + func (intervals Intervals) Duration(minCurrentDuration time.Duration) time.Duration + func (intervals Intervals) Filter(eventFilterMatches EventIntervalMatchesFunc) Intervals + func (intervals Intervals) Len() int + func (intervals Intervals) Less(i, j int) bool + func (intervals Intervals) Slice(from, to time.Time) Intervals + func (intervals Intervals) Strings() []string + func (intervals Intervals) Swap(i, j int) + type Locator struct + Keys map[LocatorKey]string + Type LocatorType + func LocatePod(pod *corev1.Pod) Locator + func (i Locator) HasKey(k LocatorKey) bool + func (i Locator) OldLocator() string + func (o *Locator) DeepCopy() *Locator + type LocatorBuilder struct + func NewLocator() *LocatorBuilder + func (b *LocatorBuilder) AlertFromPromSampleStream(alert *model.SampleStream) Locator + func (b *LocatorBuilder) Build() Locator + func (b *LocatorBuilder) CloudNodeMetric(nodeName string, metric string) Locator + func (b *LocatorBuilder) ClusterOperator(name string) Locator + func (b *LocatorBuilder) ClusterVersion(cv *v1.ClusterVersion) Locator + func (b *LocatorBuilder) ContainerFromNames(namespace, podName, uid, containerName string) Locator + func (b *LocatorBuilder) ContainerFromPod(pod *corev1.Pod, containerName string) Locator + func (b *LocatorBuilder) DaemonSetFromName(namespace, daemonSetName string) Locator + func (b *LocatorBuilder) DeploymentFromName(namespace, deploymentName string) Locator + func (b *LocatorBuilder) Disruption(backendDisruptionName, thisInstanceName, loadBalancer, protocol, target string, ...) Locator + func (b *LocatorBuilder) DisruptionRequiredOnly(backendDisruptionName, thisInstanceName string) Locator + func (b *LocatorBuilder) E2ETest(testName string) Locator + func (b *LocatorBuilder) EtcdMemberFromNames(nodeName, memberName string) Locator + func (b *LocatorBuilder) KubeAPIServerWithLB(loadBalancer string) Locator + func (b *LocatorBuilder) KubeEvent(event *corev1.Event) Locator + func (b *LocatorBuilder) KubeletSyncLoopPLEG(node, ns, podName, eventType string) Locator + func (b *LocatorBuilder) KubeletSyncLoopProbe(node, ns, podName, probeType string) Locator + func (b *LocatorBuilder) LocateDisruptionCheck(backendDisruptionName, thisInstanceName string, ...) Locator + func (b *LocatorBuilder) LocateNamespace(namespaceName string) Locator + func (b *LocatorBuilder) LocateRouteForDisruptionCheck(backendDisruptionName, thisInstanceName, ns, name string, ...) Locator + func (b *LocatorBuilder) LocateServer(serverName, nodeName, namespace, podName string) Locator + func (b *LocatorBuilder) MachineFromName(machineName string) Locator + func (b *LocatorBuilder) NodeFromName(nodeName string) Locator + func (b *LocatorBuilder) NodeFromNameWithRole(nodeName, nodeRole string) Locator + func (b *LocatorBuilder) NodeFromNameWithRow(nodeName, row string) Locator + func (b *LocatorBuilder) PodFromNames(namespace, podName, uid string) Locator + func (b *LocatorBuilder) PodFromPod(pod *corev1.Pod) Locator + func (b *LocatorBuilder) PrometheusTargetDownFromPromSampleStream(sample *model.SampleStream) Locator + func (b *LocatorBuilder) StatefulSetFromName(namespace, statefulSetName string) Locator + func (b *LocatorBuilder) StaticPodInstall(node, podType string) Locator + func (b *LocatorBuilder) TestBucket(bucketName string) Locator + func (b *LocatorBuilder) WithAPIUnreachableFromClient(metric model.Metric, serviceNetworkIP, nodeName, nodeRole string) Locator + type LocatorKey string + const LocatorAPIUnreachableComponentKey + const LocatorAPIUnreachableHostKey + const LocatorAlertKey + const LocatorBackendDisruptionNameKey + const LocatorClusterOperatorKey + const LocatorClusterVersionKey + const LocatorConnectionKey + const LocatorContainerKey + const LocatorDaemonSetKey + const LocatorDeploymentKey + const LocatorDisruptionKey + const LocatorE2ETestKey + const LocatorEtcdMemberKey + const LocatorHmsgKey + const LocatorInstanceKey + const LocatorLoadBalancerKey + const LocatorMachineKey + const LocatorMetricKey + const LocatorMetricsPathKey + const LocatorMirrorUIDKey + const LocatorNameKey + const LocatorNamespaceKey + const LocatorNodeKey + const LocatorNodeRoleKey + const LocatorOnPremKubeapiUnreachableFromHaproxyKey + const LocatorOnPremVIPMonitorKey + const LocatorPodKey + const LocatorProtocolKey + const LocatorRouteKey + const LocatorRowKey + const LocatorServerKey + const LocatorServiceKey + const LocatorStatefulSetKey + const LocatorStaticPodInstallType + const LocatorTargetKey + const LocatorTestBucketKey + const LocatorTypeKubeletSyncLoopPLEGType + const LocatorTypeKubeletSyncLoopProbeType + const LocatorUIDKey + type LocatorType string + const LocatorTypeAPIServer + const LocatorTypeAPIUnreachableFromClient + const LocatorTypeAlert + const LocatorTypeCloudMetrics + const LocatorTypeClusterOperator + const LocatorTypeClusterVersion + const LocatorTypeContainer + const LocatorTypeDaemonSet + const LocatorTypeDeployment + const LocatorTypeDisruption + const LocatorTypeE2ETest + const LocatorTypeKind + const LocatorTypeKubeEvent + const LocatorTypeKubeletSyncLoopPLEG + const LocatorTypeKubeletSyncLoopProbe + const LocatorTypeMachine + const LocatorTypeMetricsEndpoint + const LocatorTypeNode + const LocatorTypePod + const LocatorTypeStatefulSet + const LocatorTypeStaticPodInstall + const LocatorTypeTestBucket + type Message struct + Annotations map[AnnotationKey]string + Cause string + HumanMessage string + Reason IntervalReason + func (i Message) OldMessage() string + func (o *Message) DeepCopy() *Message + type MessageBuilder struct + func ExpandMessage(prevMessage Message) *MessageBuilder + func NewMessage() *MessageBuilder + func (m *MessageBuilder) Build() Message + func (m *MessageBuilder) BuildString() string + func (m *MessageBuilder) Cause(cause string) *MessageBuilder + func (m *MessageBuilder) Constructed(constructedBy ConstructionOwner) *MessageBuilder + func (m *MessageBuilder) HumanMessage(message string) *MessageBuilder + func (m *MessageBuilder) HumanMessagef(messageFormat string, args ...interface{}) *MessageBuilder + func (m *MessageBuilder) Node(node string) *MessageBuilder + func (m *MessageBuilder) Reason(reason IntervalReason) *MessageBuilder + func (m *MessageBuilder) WithAnnotation(name AnnotationKey, value string) *MessageBuilder + func (m *MessageBuilder) WithAnnotations(annotations map[AnnotationKey]string) *MessageBuilder + type NamespacedReference struct + Name string + Namespace string + UID string + type PodReference struct + func PodFrom(locator Locator) PodReference + func (r PodReference) ToLocator() Locator + type Recorder interface + type RecorderReader interface + CurrentResourceState func() ResourcesMap + Intervals func(from, to time.Time) Intervals + type RecorderWriter interface + AddIntervals func(eventIntervals ...Interval) + EndInterval func(startedInterval int, t time.Time) *Interval + Record func(conditions ...Condition) + RecordAt func(t time.Time, conditions ...Condition) + RecordResource func(resourceType string, obj runtime.Object) + StartInterval func(interval Interval) int + type ResourcesMap map[string]InstanceMap