/// <summary>
 /// Set result when client rate limit reached
 /// </summary>
 /// <param name="report">Executed report</param>
 /// <returns>BacktraceResult with limit reached information</returns>
 internal static BacktraceResult OnLimitReached(BacktraceReport report)
 {
     return(new BacktraceResult()
     {
         BacktraceReport = report,
         Status = BacktraceResultStatus.LimitReached,
         Message = "Client report limit reached"
     });
 }
 /// <summary>
 /// Set result when error occurs while sending data to API
 /// </summary>
 /// <param name="report">Executed report</param>
 /// <param name="exception">Exception</param>
 /// <returns>BacktraceResult with exception information</returns>
 internal static BacktraceResult OnError(BacktraceReport report, Exception exception)
 {
     return(new BacktraceResult()
     {
         BacktraceReport = report,
         Message = exception.Message,
         Status = BacktraceResultStatus.ServerError
     });
 }
示例#3
0
 public BacktraceData(BacktraceReport report, Dictionary <string, object> clientAttributes)
 {
     if (report == null)
     {
         return;
     }
     Report = report;
     SetReportInformation();
     SetAttributes(clientAttributes);
     SetThreadInformations();
 }
        /// <summary>
        /// Concat two attributes dictionary
        /// </summary>
        /// <param name="report">Current report</param>
        /// <param name="attributes">Attributes to concatenate</param>
        /// <returns></returns>
        internal static Dictionary <string, object> ConcatAttributes(
            BacktraceReport report, Dictionary <string, object> attributes)
        {
            var reportAttributes = report.Attributes;

            if (attributes == null)
            {
                return(reportAttributes);
            }
            ;
            return(reportAttributes.Merge(attributes));
        }
示例#5
0
        /// <summary>
        /// Set result when error occurs while sending data to API
        /// </summary>
        /// <param name="report">Executed report</param>
        /// <param name="exception">Exception</param>
        /// <returns>BacktraceResult with exception information</returns>
        internal static BacktraceResult OnError(BacktraceReport report, Exception exception)
        {
            var result = new BacktraceResult()
            {
                BacktraceReport = report,
                Message         = exception.Message,
                Status          = BacktraceResultStatus.ServerError
            };

            result.Exception = exception;
            return(result);
        }
 public BacktraceData(BacktraceReport report, Dictionary <string, object> clientAttributes)
 {
     if (report == null)
     {
         return;
     }
     Report      = report;
     Attachments = Report.AttachmentPaths.Distinct().ToList();
     SetReportInformation();
     SetAttributes(clientAttributes);
     SetThreadInformations();
 }