示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DeadmanCheck" /> class.
 /// </summary>
 /// <param name="type">type.</param>
 /// <param name="timeSince">string duration before deadman triggers..</param>
 /// <param name="staleTime">string duration for time that a series is considered stale and should not trigger deadman..</param>
 /// <param name="reportZero">If only zero values reported since time, trigger an alert.</param>
 /// <param name="level">level.</param>
 public DeadmanCheck(TypeEnum?type = default(TypeEnum?), string timeSince = default(string), string staleTime = default(string), bool?reportZero = default(bool?), CheckStatusLevel level = default(CheckStatusLevel), string name = default(string), string orgID = default(string), DashboardQuery query = default(DashboardQuery), TaskStatusType?status = default(TaskStatusType?), string every = default(string), string offset = default(string), List <CheckBaseTags> tags = default(List <CheckBaseTags>), string description = default(string), string statusMessageTemplate = default(string), List <Label> labels = default(List <Label>), CheckBaseLinks links = default(CheckBaseLinks)) : base(name, orgID, query, status, every, offset, tags, description, statusMessageTemplate, labels, links)
 {
     this.Type       = type;
     this.TimeSince  = timeSince;
     this.StaleTime  = staleTime;
     this.ReportZero = reportZero;
     this.Level      = level;
 }
示例#2
0
        /// <summary>
        /// Add new Deadman check.
        /// </summary>
        /// <param name="name">the check name</param>
        /// <param name="query">The text of the flux query</param>
        /// <param name="every">Check repetition interval</param>
        /// <param name="timeSince">string duration before deadman triggers</param>
        /// <param name="staleTime">string duration for time that a series is considered stale and should not trigger deadman</param>
        /// <param name="messageTemplate">template that is used to generate and write a status message</param>
        /// <param name="level">the state to record if check matches a criteria</param>
        /// <param name="orgId">the organization that owns this check</param>
        /// <returns>DeadmanCheck created</returns>
        public async Task <DeadmanCheck> CreateDeadmanCheckAsync(string name, string query, string every,
                                                                 string timeSince, string staleTime, string messageTemplate, CheckStatusLevel level, string orgId)
        {
            Arguments.CheckNonEmptyString(name, nameof(name));
            Arguments.CheckNonEmptyString(query, nameof(query));
            Arguments.CheckNonEmptyString(every, nameof(every));
            Arguments.CheckNonEmptyString(timeSince, nameof(timeSince));
            Arguments.CheckNonEmptyString(staleTime, nameof(staleTime));
            Arguments.CheckNonEmptyString(messageTemplate, nameof(messageTemplate));
            Arguments.CheckNonEmptyString(orgId, nameof(orgId));
            Arguments.CheckNotNull(level, nameof(level));

            var check = new DeadmanCheck(level: level, staleTime: staleTime, timeSince: timeSince, name: name,
                                         every: every, type: DeadmanCheck.TypeEnum.Deadman,
                                         orgID: orgId, query: CreateDashboardQuery(query), statusMessageTemplate: messageTemplate,
                                         status: TaskStatusType.Active);

            return((DeadmanCheck) await CreateCheckAsync(check));
        }