Exemplo n.º 1
0
        public AverageDurationHandler(int keeptop,string textDataMatchFilterString,string textDataNotMatchFilterString)
        {
            TraceDefinitionFile.ColumnFilter filter = new TraceDefinitionFile.ColumnFilter(TraceColumn.TextData,true);
            TraceDefinitionFile.ColumnFilter filterDuration = new TraceDefinitionFile.ColumnFilter(TraceColumn.Duration, false);
            filterDuration.Operations.Add( new TraceDefinitionFile.ColumnFilter.Operation(TraceDefinitionFile.ColumnFilter.OperatorEnum.GreaterOrEqual,(Int64)1));
            tracedefinition.ColumnFilters.Add(filter);
            tracedefinition.ColumnFilters.Add(filterDuration);//1 e8 03 2 d0 07

            //tracedefinition =  TraceDefinitionFile.Common;
            //tracedefinition.Remove(TraceEvent.RPCCompleted);

            this.top = keeptop;
            result = InitResult();
            if(!string.IsNullOrWhiteSpace(textDataMatchFilterString)) textDataMatchFilter = new Regex(textDataMatchFilterString,RegexOptions.IgnoreCase);
            if (!string.IsNullOrWhiteSpace(textDataNotMatchFilterString)) textDataNotMatchFilter = new Regex(textDataNotMatchFilterString, RegexOptions.IgnoreCase);
            regexs.Add(new Regex(@"(?<key>[@]{0,1}[\w|\d]+?)[\s|\n]*[=|>|<]+[\s|\n]*(?<value>[\S|\s]+?)[,|and]{1}"),
            (s) =>
            {
                decimal decimalvalue = 0;
                Decimal.TryParse(s, out decimalvalue);
                return s.Contains('.') && decimalvalue.ToString() != s && !s.Contains("'");
            }
            );

            regexs.Add(new Regex(@"in[\s|\n]*[(]{1}(?<value>[\S|\s]+?)[)]{1}"),
                (s) =>
                {
                    return s.ToLower().Contains("select");
                }
            );
        }
Exemplo n.º 2
0
        private void Init()
        {
            List<TraceColumn> columns = new List<TraceColumn>();
            columns.Add(TraceColumn.EventClass);
            columns.Add(TraceColumn.ObjectName);
            columns.Add(TraceColumn.LineNumber);
            columns.Add(TraceColumn.NestLevel);
            columns.Add(TraceColumn.SPID);
            columns.Add(TraceColumn.TextData);
            columns.Add(TraceColumn.StartTime);
            //columns.Add(TraceColumn.CPU);
            //columns.Add(TraceColumn.Reads);
            //columns.Add(TraceColumn.Writes);

            traceDefinition.Add(TraceEventEnum.ShowplanXMLStatisticsProfile, columns);
            //TraceDefinitionFile.ColumnFilter filter = new TraceDefinitionFile.ColumnFilter(TraceColumn.ObjectName, true);
            TraceDefinitionFile.ColumnFilter filter = new TraceDefinitionFile.ColumnFilter(TraceColumn.ObjectName,false);
            filter.Operations.Add(new TraceDefinitionFile.ColumnFilter.Operation(TraceDefinitionFile.ColumnFilter.OperatorEnum.Like, "SP%"));
            filter.Operations.Add(new TraceDefinitionFile.ColumnFilter.Operation(TraceDefinitionFile.ColumnFilter.OperatorEnum.NotLike, "%PgicCasinoLink30CommunicationsMessageBridge%"));
            traceDefinition.ColumnFilters.Add(filter);
            Result = InitResult();
        }