/// <summary> /// Initializes a new instance of the <see cref="ReceivePoisonMessageDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public ReceivePoisonMessageDecorator(IMetrics metrics, IReceivePoisonMessage handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _meterError = metrics.Meter($"{connectionInformation.QueueName}.{name}.PoisonHandleMeter", Units.Items); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="RollbackMessageDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public RollbackMessageDecorator(IMetrics metrics, IRollbackMessage handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _rollbackCounter = metrics.Counter($"{connectionInformation.QueueName}.{name}.RollbackCounter", Units.Items); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="SendHeartBeatDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public SendHeartBeatDecorator(IMetrics metrics, ISendHeartBeat handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _timer = metrics.Timer($"{connectionInformation.QueueName}.{name}.SendTimer", Units.Calls); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="QueueCreationDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public MessageHandlerDecorator(IMetrics metrics, IMessageHandler handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _runCodeTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.HandleTimer", Units.Calls); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="ReceiveMessagesErrorDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public ReceiveMessagesErrorDecorator(IMetrics metrics, IReceiveMessagesError handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _meterError = metrics.Meter($"{connectionInformation.QueueName}.{name}.MessageFailedProcessingErrorMeter", Units.Items); _meterRetry = metrics.Meter($"{connectionInformation.QueueName}.{name}.MessageFailedProcessingRetryMeter", Units.Items); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="QueueCreationDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public QueueCreationDecorator(IMetrics metrics, IQueueCreation handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _createQueueTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.CreateQueueTimer", Units.Calls); _removeQueueTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.RemoveQueueTimer", Units.Calls); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="InternalSerializerDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public LinqCompilerDecorator(IMetrics metrics, ILinqCompiler handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _compileActionTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.CompileActionTimer", Units.Calls); _compileFunctionTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.CompileFunctionTimer", Units.Calls); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="MessageMethodHandlingDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public MessageMethodHandlingDecorator(IMetrics metrics, IMessageMethodHandling handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _runMethodCompiledCodeTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.HandleCompiledMethodTimer", Units.Calls); _runFunctionCompiledCodeTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.HandleCompiledFunctionTimer", Units.Calls); _runMethodDynamicCodeTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.HandleDynamicMethodTimer", Units.Calls); _runFunctionDynamicCodeTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.HandleDynamicFunctionTimer", Units.Calls); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="DelayedProcessingActionDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public DelayedProcessingActionDecorator(IMetrics metrics, IDelayedProcessingAction handler, IConnectionInformation connectionInformation) { Guard.NotNull(() => metrics, metrics); Guard.NotNull(() => handler, handler); var name = handler.GetType().Name; _timer = metrics.Timer($"{connectionInformation.QueueName}.{name}.RunTimer", Units.Calls); _counter = metrics.Counter($"{connectionInformation.QueueName}.{name}.RunCounter", Units.Items); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="ReceiveMessagesDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="headers">The headers.</param> /// <param name="getTime">The get time.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public ReceiveMessagesDecorator(IMetrics metrics, IHeaders headers, IGetTimeFactory getTime, IReceiveMessages handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _meter = metrics.Meter($"{connectionInformation.QueueName}.{name}.ReceiveMessageMeter", Units.Items); _waitTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.WaitForDeQueueMeter", Units.None); _handler = handler; _getTime = getTime; _headers = headers; }
/// <summary> /// Initializes a new instance of the <see cref="SendMessagesDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public SendMessagesDecorator(IMetrics metrics, ISendMessages handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _sendTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.SendTimer", Units.Calls); _sendBatchTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.SendBatchTimer", Units.Calls); _sendAsyncTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.SendAsyncTimer", Units.Calls); _sendBatchAsyncTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.SendBatchAsyncTimer", Units.Calls); _sendMeter = metrics.Meter($"{connectionInformation.QueueName}.{name}.SendMessagesMeter", Units.Items, TimeUnits.Minutes); _sendErrorMeter = metrics.Meter($"{connectionInformation.QueueName}.{name}.SendMessagesErrorMeter", Units.Items, TimeUnits.Minutes); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="ExpressionSerializerDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public ExpressionSerializerDecorator(IMetrics metrics, IExpressionSerializer handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _methodToBytesTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.ConvertMethodToBytesTimer", Units.Calls); _bytesToMethodTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.ConvertBytesToMethodTimer", Units.Calls); _resultMethodSizeHistogram = metrics.Histogram($"{connectionInformation.QueueName}.{name}.ConvertMethodToBytesHistogram", Units.Bytes, SamplingTypes.LongTerm); _functionToBytesTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.ConvertFunctionToBytesTimer", Units.Calls); _bytesToFunctionTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.ConvertBytesToFunctionTimer", Units.Calls); _resultFunctionSizeHistogram = metrics.Histogram($"{connectionInformation.QueueName}.{name}.ConvertFunctionToBytesHistogram", Units.Bytes, SamplingTypes.LongTerm); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="WorkerNotification" /> class. /// </summary> /// <param name="headerNames">The header names.</param> /// <param name="cancelWork">The cancel work.</param> /// <param name="configuration">The configuration.</param> /// <param name="log">The log.</param> /// <param name="metrics">The metrics factory.</param> public WorkerNotification(IHeaders headerNames, IQueueCancelWork cancelWork, TransportConfigurationReceive configuration, ILogFactory log, IMetrics metrics) { Guard.NotNull(() => headerNames, headerNames); Guard.NotNull(() => cancelWork, cancelWork); Guard.NotNull(() => configuration, configuration); Guard.NotNull(() => log, log); Guard.NotNull(() => metrics, metrics); HeaderNames = headerNames; WorkerStopping = cancelWork; TransportSupportsRollback = configuration.MessageRollbackSupported; Log = log.Create(); Metrics = metrics; }
/// <summary> /// Initializes a new instance of the <see cref="SmartThreadPoolTaskScheduler"/> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="waitForFreeThread">The wait for free thread.</param> /// <param name="metrics">the metrics factory</param> public SmartThreadPoolTaskScheduler(ITaskSchedulerConfiguration configuration, IWaitForEventOrCancelThreadPool waitForFreeThread, IMetrics metrics) { Guard.NotNull(() => configuration, configuration); Guard.NotNull(() => waitForFreeThread, waitForFreeThread); Guard.NotNull(() => metrics, metrics); _configuration = configuration; _waitForFreeThread = waitForFreeThread; _metrics = metrics; _groups = new ConcurrentDictionary<IWorkGroup, WorkGroupWithItem>(); _clients = new ConcurrentDictionary<int, int>(); var name = GetType().Name; _taskCounter = metrics.Counter($"{name}.TaskCounter", Units.Items); _clientCounter = metrics.Counter($"{name}.ClientCounter", Units.Items); }
/// <summary> /// Initializes a new instance of the <see cref="LinqCompileCacheDecorator" /> class. /// </summary> /// <param name="handler">The handler.</param> /// <param name="cache">The cache.</param> /// <param name="cachePolicy">The cache policy.</param> /// <param name="metrics">The metrics.</param> /// <param name="connectionInformation">The connection information.</param> public LinqCompileCacheDecorator( ILinqCompiler handler, ObjectCache cache, ICachePolicy<ILinqCompiler> cachePolicy, IMetrics metrics, IConnectionInformation connectionInformation) { _handler = handler; _cache = cache; _itemPolicy = new CacheItemPolicy {SlidingExpiration = cachePolicy.SlidingExpiration}; var name = handler.GetType().Name; _counterActionCacheHit = metrics.Counter($"{connectionInformation.QueueName}.{name}.LinqActionCacheHitCounter", Units.Items); _counterActionCacheMiss = metrics.Counter($"{connectionInformation.QueueName}.{name}.LinqActionCacheMissCounter", Units.Items); _counterActionCacheUnique = metrics.Counter($"{connectionInformation.QueueName}.{name}.LinqActionUniqueFlaggedCounter", Units.Items); _counterFunctionCacheHit = metrics.Counter($"{connectionInformation.QueueName}.{name}.LinqFunctionCacheHiCountert", Units.Items); _counterFunctionCacheMiss = metrics.Counter($"{connectionInformation.QueueName}.{name}.LinqFunctionCacheMissCounter", Units.Items); _counterFunctionCacheUnique = metrics.Counter($"{connectionInformation.QueueName}.{name}.LinqFunctionUniqueFlaggedCounter", Units.Items); }
/// <summary> /// Initializes a new instance of the <see cref="MessageInterceptorDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public MessageInterceptorDecorator(IMetrics metrics, IMessageInterceptor handler, IConnectionInformation connectionInformation) { _handler = handler; var name = handler.GetType().Name; _metricTimerBytes = metrics.Timer($"{connectionInformation.QueueName}.{name}.BytesToMessageTimer", Units.Calls); _metricTimerMessage = metrics.Timer($"{connectionInformation.QueueName}.{name}.MessageToBytesTimer", Units.Calls); _metricHistogram = metrics.Histogram($"{connectionInformation.QueueName}.{name}.MessageToBytesHistogram", Units.Bytes, SamplingTypes.LongTerm); _metricHistogramDelta = metrics.Histogram($"{connectionInformation.QueueName}.{name}.MessageToBytesDeltaHistogram", Units.Bytes, SamplingTypes.LongTerm); _metricHistogramOptOut = metrics.Histogram($"{connectionInformation.QueueName}.{name}.OptOutOfGraphHistogram", Units.Bytes, SamplingTypes.LongTerm); }
public CurrencyConverterClient( ILogger <CurrencyConverterClient> logger, HttpClient httpClient, FaceSettings faceSettings, IMetrics metrics) { httpClient.BaseAddress = new Uri("https://free.currconv.com"); _logger = logger; _httpClient = httpClient; _faceSettings = faceSettings; _metrics = metrics; }
private List<AnalyticsReportData> GetAnalyticsReport(string provider) { bool allowSorting = false; string cssTweak = string.Empty; if (FromWidget) { cssTweak = "<style type='text/css'> .EktronPersonalization .analyticsReport .SiteSelectorContainer {display: none;} </style>"; } else { cssTweak = "<style type='text/css'> .SiteSelectorContainer {display: none;} </style>"; } if (!String.IsNullOrEmpty(provider) && _dataManager.HasProvider(provider)) { allowSorting = _dataManager.AllowSorting(provider); _dimensions = _dataManager.GetDimensions(provider); _metrics = _dataManager.GetMetrics(provider); string providerType = _dataManager.GetProviderType(provider); if (providerType != "Ektron.Cms.Analytics.Providers.GoogleAnalyticsProvider") { if (FromWidget) { cssTweak = "<style type='text/css'> .EktronPersonalization .analyticsReport input.SegmentPopupBtn {display: none;} </style>"; } else { cssTweak = "<style type='text/css'> input.SegmentPopupBtn {display: none;} </style>"; } } } gvDataTable.AllowSorting = allowSorting; List<AnalyticsReportData> reports = null; AnalyticsReportData report = null; DateTime startDate = _startDate; DateTime endDate = _endDate; string reportSubtitle = string.Empty; string reportSummary = string.Empty; string reportSummaryShort = string.Empty; string reportSegSummary = string.Empty; bool bGeneric = false; if (ErrorPanel.Visible) { this.htmReportSummary.InnerText = string.Empty; return null; } AnalyticsCriteria criteria = new AnalyticsCriteria(); // setting criteria.PagingInfo.RecordsPerPage will disable the paging in the grid. //criteria.PagingInfo.RecordsPerPage = gvDataTable.PageSize; if (DisplayView.Detail == this.View) { criteria.AggregationPeriod = AggregationTimePeriod.ByDay; } try { _defaultView = DisplayView.Percentage; _bDrillDownReport = false; _bDrillDownDetail = true; switch (_reportType) { #region Google Analytics Reports /* case ReportType.MapOverlay: */ case ReportType.Locations: ReportTitle = _reportTypeName = GetMessage("sam locations"); if (IsDimensionSupported(_dimensions.country)) { reportSummary = GetMessage("lbl visit came from countries"); reportSegSummary = GetMessage("lbl visit came from countries in segment"); _columnName = GetMessage("lbl country territory"); _defaultView = DisplayView.Table; _bDrillDownReport = true; _bDrillDownDetail = false; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.country, DimensionFilterOperator.EqualTo, _forValue); criteria.Dimensions.Insert(0, _dimensions.region); reportSummary = GetMessage("lbl visit came from regions"); reportSegSummary = GetMessage("lbl visit came from regions in segment"); ReportTitle = _columnName; if (_forValue != "(not set)") // TODO: "(not set)" is Google-specific { reportSubtitle = _forValue; } _columnName = GetMessage("lbl region"); _strDrillDownArg = "and"; } if (!String.IsNullOrEmpty(_andValue)) { criteria.DimensionFilters.AddFilter(_dimensions.region, DimensionFilterOperator.EqualTo, _andValue); criteria.Dimensions.Insert(0, _dimensions.city); reportSummary = GetMessage("lbl visit came from cities"); reportSegSummary = GetMessage("lbl visit came from cities in segment"); ReportTitle = _columnName; if (_andValue != "(not set)") // TODO: "(not set)" is Google-specific { if (reportSubtitle.Length > 0) { reportSubtitle = _andValue + ", " + reportSubtitle; } else { reportSubtitle = _andValue; } } _columnName = GetMessage("lbl address city"); _bDrillDownReport = false; _bDrillDownDetail = true; _strDrillDownArg = "also"; } if (!String.IsNullOrEmpty(_alsoValue)) { criteria.DimensionFilters.AddFilter(_dimensions.city, DimensionFilterOperator.EqualTo, _alsoValue); ReportTitle = _columnName; if (_alsoValue != "(not set)") // TODO: "(not set)" is Google-specific { if (reportSubtitle.Length > 0) { reportSubtitle = _alsoValue + ", " + reportSubtitle; } else { reportSubtitle = _alsoValue; } } _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.NewVsReturning: ReportTitle = _reportTypeName = GetMessage("sam new vs returning"); if (IsDimensionSupported(_dimensions.visitorType) && IsMetricSupported(_metrics.visitors)) { reportSummary = GetMessage("lbl visit from visitor types"); reportSegSummary = GetMessage("lbl visit from visitor types in segment"); _columnName = GetMessage("lbl visitor type"); if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.visitorType, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Languages: ReportTitle = _reportTypeName = GetMessage("sam languages"); if (IsDimensionSupported(_dimensions.language)) { reportSummary = GetMessage("lbl visit used languages"); reportSegSummary = GetMessage("lbl visit used languages in segment"); _columnName = GetMessage("generic language"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.language, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Browsers: ReportTitle = _reportTypeName = GetMessage("sam browsers"); if (IsDimensionSupported(_dimensions.browser)) { reportSummary = GetMessage("lbl visit used browsers"); reportSegSummary = GetMessage("lbl visit used browsers in segment"); _columnName = GetMessage("lbl browser"); _bDrillDownReport = true; _bDrillDownDetail = false; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.browser, DimensionFilterOperator.EqualTo, _forValue); criteria.Dimensions.Insert(0, _dimensions.browserVersion); reportSummary = GetMessage("lbl visit used browser versions"); reportSegSummary = GetMessage("lbl visit used browser versions in segment"); ReportTitle = _columnName; reportSubtitle = _forValue + " "; _columnName = GetMessage("lbl browser version"); _bDrillDownReport = false; _bDrillDownDetail = true; _strDrillDownArg = "and"; } if (!String.IsNullOrEmpty(_andValue)) { criteria.DimensionFilters.AddFilter(_dimensions.browserVersion, DimensionFilterOperator.EqualTo, _andValue); ReportTitle = _columnName; reportSubtitle += _andValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.OS: ReportTitle = _reportTypeName = GetMessage("sam operating systems"); if (IsDimensionSupported(_dimensions.operatingSystem)) { reportSummary = GetMessage("lbl visit used operating systems"); reportSegSummary = GetMessage("lbl visit used operating systems in segment"); _columnName = GetMessage("lbl operating system"); _bDrillDownReport = true; _bDrillDownDetail = false; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.operatingSystem, DimensionFilterOperator.EqualTo, _forValue); criteria.Dimensions.Insert(0, _dimensions.operatingSystemVersion); reportSummary = GetMessage("lbl visit used os versions"); reportSegSummary = GetMessage("lbl visit used os versions in segment"); ReportTitle = _columnName; reportSubtitle = _forValue + " "; _columnName = GetMessage("lbl os version"); _bDrillDownReport = false; _bDrillDownDetail = true; _strDrillDownArg = "and"; } if (!String.IsNullOrEmpty(_andValue)) { criteria.DimensionFilters.AddFilter(_dimensions.operatingSystemVersion, DimensionFilterOperator.EqualTo, _andValue); ReportTitle = _columnName; reportSubtitle += _andValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Platforms: ReportTitle = _reportTypeName = GetMessage("sam browsers and os"); if (IsDimensionSupported(_dimensions.browser) && IsDimensionSupported(_dimensions.operatingSystem)) { reportSummary = GetMessage("lbl visit used browser and os combinations"); reportSegSummary = GetMessage("lbl visit used browser and os combinations in segment"); _columnName = GetMessage("lbl browser and os"); if (!String.IsNullOrEmpty(_forValue)) { string[] values = _forValue.Split(new char[] { '/' }, 2); criteria.DimensionFilters.AddFilter(_dimensions.browser, DimensionFilterOperator.EqualTo, values[0].Trim()); criteria.DimensionFilters.AddFilter(_dimensions.operatingSystem, DimensionFilterOperator.EqualTo, values[1].Trim()); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Colors: ReportTitle = _reportTypeName = GetMessage("sam screen colors"); if (IsDimensionSupported(_dimensions.screenColors)) { reportSummary = GetMessage("lbl visit used screen colors"); reportSegSummary = GetMessage("lbl visit used screen colors in segment"); _columnName = GetMessage("sam screen colors"); if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.screenColors, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Resolutions: ReportTitle = _reportTypeName = GetMessage("sam screen resolutions"); if (IsDimensionSupported(_dimensions.screenResolution)) { reportSummary = GetMessage("lbl visit used screen resolutions"); reportSegSummary = GetMessage("lbl visit used screen resolutions in segment"); _columnName = GetMessage("lbl screen resolution"); if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.screenResolution, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Flash: ReportTitle = _reportTypeName = GetMessage("sam flash versions"); if (IsDimensionSupported(_dimensions.flashVersion)) { reportSummary = GetMessage("lbl visit used flash versions"); reportSegSummary = GetMessage("lbl visit used flash versions in segment"); _columnName = GetMessage("lbl flash version"); if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.flashVersion, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Java: ReportTitle = _reportTypeName = GetMessage("sam java support"); if (IsDimensionSupported(_dimensions.javaEnabled)) { reportSummary = GetMessage("lbl visit used java support"); reportSegSummary = GetMessage("lbl visit used java support in segment"); _columnName = ReportTitle; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.javaEnabled, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.NetworkLocations: ReportTitle = _reportTypeName = GetMessage("sam network location"); if (IsDimensionSupported(_dimensions.networkLocation)) { reportSummary = GetMessage("lbl visit came from network locations"); reportSegSummary = GetMessage("lbl visit came from network locations in segment"); _columnName = ReportTitle; _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.networkLocation, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Hostnames: ReportTitle = _reportTypeName = GetMessage("sam hostnames"); if (IsDimensionSupported(_dimensions.hostname)) { reportSummary = GetMessage("lbl visit came from hostnames"); reportSegSummary = GetMessage("lbl visit came from hostnames in segment"); _columnName = GetMessage("lbl hostname"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.hostname, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.ConnectionSpeeds: ReportTitle = _reportTypeName = GetMessage("sam connection speeds"); if (IsDimensionSupported(_dimensions.connectionSpeed)) { reportSummary = GetMessage("lbl visit used connection speeds"); reportSegSummary = GetMessage("lbl visit used connection speeds in segment"); _columnName = GetMessage("lbl connection speed"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.connectionSpeed, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.UserDefined: ReportTitle = _reportTypeName = GetMessage("sam user defined"); if (IsDimensionSupported(_dimensions.userDefinedValue)) { reportSummary = GetMessage("lbl visit used user defined values"); reportSegSummary = GetMessage("lbl visit used user defined values in segment"); _columnName = GetMessage("lbl user defined value"); if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.userDefinedValue, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Direct: ReportTitle = _reportTypeName = GetMessage("sam direct traffic"); if (IsDimensionSupported(_dimensions.source)) { reportSummary = GetMessage("lbl visit came directly to this site"); reportSegSummary = GetMessage("lbl visit came directly to this site in segment"); _columnName = GetMessage("lbl source"); _defaultView = DisplayView.Detail; if (DisplayView.Detail == this.View) { criteria.AggregationPeriod = AggregationTimePeriod.ByDay; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Referring: ReportTitle = _reportTypeName = GetMessage("sam referring sites"); if (IsDimensionSupported(_dimensions.source)) { reportSummary = GetMessage("lbl referring sites sent visits via sources"); reportSegSummary = GetMessage("lbl referring sites sent visits via sources in segment"); _columnName = GetMessage("lbl referring site"); _defaultView = DisplayView.Table; _bDrillDownReport = true; _bDrillDownDetail = false; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.source, DimensionFilterOperator.EqualTo, _forValue); criteria.Dimensions.Insert(0, _dimensions.referralPath); reportSummary = GetMessage("lbl referring site sent visits via paths"); reportSegSummary = GetMessage("lbl referring site sent visits via paths"); ReportTitle = _columnName; reportSubtitle = _forValue + " "; _columnName = GetMessage("lbl referring link"); _bDrillDownReport = false; _bDrillDownDetail = true; _strDrillDownArg = "and"; } if (!String.IsNullOrEmpty(_andValue)) { criteria.DimensionFilters.AddFilter(_dimensions.referralPath, DimensionFilterOperator.EqualTo, _andValue); ReportTitle = _columnName; reportSubtitle += ":\xA0 " + _andValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.SearchEngines: ReportTitle = _reportTypeName = GetMessage("sam search engines"); if (IsDimensionSupported(_dimensions.source)) { reportSummary = GetMessage("lbl search sent total visits via sources"); reportSegSummary = GetMessage("lbl search sent total visits via sources in segment"); _columnName = GetMessage("lbl search engine"); _defaultView = DisplayView.Table; _bDrillDownReport = true; _bDrillDownDetail = false; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.source, DimensionFilterOperator.EqualTo, _forValue); criteria.Dimensions.Insert(0, _dimensions.keyword); reportSummary = GetMessage("lbl search sent total visits via keywords"); reportSegSummary = GetMessage("lbl search sent total visits via keywords in segment"); ReportTitle = _columnName; reportSubtitle = _forValue + " "; _columnName = GetMessage("lbl keyword"); _bDrillDownReport = false; _bDrillDownDetail = true; _strDrillDownArg = "and"; } if (!String.IsNullOrEmpty(_andValue)) { criteria.DimensionFilters.AddFilter(_dimensions.keyword, DimensionFilterOperator.EqualTo, _andValue); ReportTitle = _columnName; reportSubtitle += ":\xA0 \"" + _andValue + "\""; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.TrafficSources: ReportTitle = _reportTypeName = GetMessage("sam all traffic sources"); if (IsDimensionSupported(_dimensions.source) && IsDimensionSupported(_dimensions.medium)) { reportSummary = GetMessage("lbl all traffic sources sent visits via sources and mediums"); reportSegSummary = GetMessage("lbl all traffic sources sent visits via sources and mediums in segment"); _columnName = GetMessage("lbl source"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { string[] values = _forValue.Split(new char[] { '/' }, 2); criteria.DimensionFilters.AddFilter(_dimensions.source, DimensionFilterOperator.EqualTo, values[0].Trim()); criteria.DimensionFilters.AddFilter(_dimensions.medium, DimensionFilterOperator.EqualTo, values[1].Trim()); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Keywords: ReportTitle = _reportTypeName = GetMessage("sam keywords"); if (IsDimensionSupported(_dimensions.keyword)) { reportSummary = GetMessage("lbl search sent total visits via keywords"); reportSegSummary = GetMessage("lbl search sent total visits via keywords in segment"); _columnName = GetMessage("lbl keyword"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.keyword, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.Campaigns: ReportTitle = _reportTypeName = GetMessage("sam campaigns"); if (IsDimensionSupported(_dimensions.campaign)) { reportSummary = GetMessage("lbl campaign traffic sent visits via campaigns"); reportSegSummary = GetMessage("lbl campaign traffic sent visits via campaigns in segment"); _columnName = GetMessage("lbl campaign"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.campaign, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.AdVersions: ReportTitle = _reportTypeName = GetMessage("sam ad versions"); if (IsDimensionSupported(_dimensions.adContent)) { reportSummary = GetMessage("lbl ads sent visits via ad contents"); reportSegSummary = GetMessage("lbl ads sent visits via ad contents in segment"); _columnName = GetMessage("lbl ad content"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.adContent, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Visits, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); } break; case ReportType.TopContent: ReportTitle = _reportTypeName = GetMessage("sam top content"); if (IsDimensionSupported(_dimensions.pagePath)) { reportSummary = GetMessage("lbl pages were viewed a total of times"); reportSegSummary = GetMessage("lbl pages were viewed a total of times in segment"); reportSummaryShort = GetMessage("lbl pages were viewed"); _columnName = GetMessage("page lbl"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.pagePath, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.PageViews, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.PageData; } break; case ReportType.ContentByTitle: ReportTitle = _reportTypeName = GetMessage("sam content by title"); if (IsDimensionSupported(_dimensions.pageTitle)) { reportSummary = GetMessage("lbl page titles were viewed a total times"); reportSegSummary = GetMessage("lbl page titles were viewed a total times in segment"); reportSummaryShort = GetMessage("lbl page titles were viewed"); _columnName = GetMessage("lbl page title"); _defaultView = DisplayView.Table; _bDrillDownReport = true; _bDrillDownDetail = false; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.pageTitle, DimensionFilterOperator.EqualTo, _forValue); criteria.Dimensions.Insert(0, _dimensions.pagePath); reportSummary = GetMessage("lbl page visited times via pages"); reportSegSummary = GetMessage("lbl page visited times via pages in segment"); ReportTitle = _columnName; reportSubtitle = _forValue + " "; _columnName = GetMessage("page lbl"); _bDrillDownReport = false; _bDrillDownDetail = true; _strDrillDownArg = "and"; } if (!String.IsNullOrEmpty(_andValue)) { criteria.DimensionFilters.AddFilter(_dimensions.pagePath, DimensionFilterOperator.EqualTo, _andValue); ReportTitle = _columnName; reportSubtitle += ":\xA0 \"" + _andValue + "\""; _defaultView = DisplayView.Detail; } UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.PageViews, allowSorting); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.PageData; } break; case ReportType.TopLanding: ReportTitle = _reportTypeName = GetMessage("sam top landing pages"); if (IsDimensionSupported(_dimensions.landingPagePath) && IsMetricSupported(_metrics.bounces) && IsMetricSupported(_metrics.entrances)) { reportSummary = GetMessage("lbl visit entered the site through pages"); reportSegSummary = GetMessage("lbl visit entered the site through pages in segment"); _columnName = GetMessage("page lbl"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.pagePath, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.PageViews, allowSorting); reports = this.GetReportDataList(provider, ReportType.TopContent, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.PageData; } else { UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Entrances, allowSorting); reports = this.GetReportDataList(provider, ReportType.TopLanding, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.LandingPageData; } } break; case ReportType.TopExit: ReportTitle = _reportTypeName = GetMessage("sam top exit pages"); if (IsDimensionSupported(_dimensions.exitPagePath) && IsMetricSupported(_metrics.exits) && IsMetricSupported(_metrics.pageviews)) { reportSummary = GetMessage("lbl visits exited from pages"); reportSegSummary = GetMessage("lbl visits exited from pages in segment"); _columnName = GetMessage("page lbl"); _defaultView = DisplayView.Table; if (!String.IsNullOrEmpty(_forValue)) { criteria.DimensionFilters.AddFilter(_dimensions.pagePath, DimensionFilterOperator.EqualTo, _forValue); ReportTitle = _columnName; reportSubtitle = _forValue; _defaultView = DisplayView.Detail; UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.PageViews, allowSorting); reports = this.GetReportDataList(provider, ReportType.TopContent, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.PageData; } else { UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Exits, allowSorting); reports = this.GetReportDataList(provider, ReportType.TopExit, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.ExitPageData; } } break; #endregion #region SiteCatalyst Reports case ReportType.TimeVisitOnSite: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam time spent per visit"); if (IsDimensionSupported(_dimensions.timeVisit) && IsMetricSupported(_metrics.visits) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteMetricData; } break; case ReportType.Pages: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = GetMessage("sam pages"); _columnName = GetMessage("page lbl"); if (IsDimensionSupported(_dimensions.pageTitle) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.SiteSection: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam site sections"); if (IsDimensionSupported(_dimensions.siteSection) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.Server: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam servers"); if (IsDimensionSupported(_dimensions.hostname) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.LinkExit: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam exit links"); if (IsDimensionSupported(_dimensions.exitPagePath) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.LinkDownload: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam file downloads"); if (IsDimensionSupported(_dimensions.linkDownload) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.LinkCustom: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam custom links"); if (IsDimensionSupported(_dimensions.linkCustom) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.PagesNotFound: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam pages not found"); if (IsDimensionSupported(_dimensions.pagesNotFound) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.MobileDeviceName: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam devices"); if (IsDimensionSupported(_dimensions.mobileDeviceName) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileManufacturer: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam manufacturer"); if (IsDimensionSupported(_dimensions.mobileManufacturer) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileScreenSize: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam screen size"); if (IsDimensionSupported(_dimensions.mobileScreenSize) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileScreenHeight: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam screen height"); if (IsDimensionSupported(_dimensions.mobileScreenHeight) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileScreenWidth: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam screen width"); if (IsDimensionSupported(_dimensions.mobileScreenWidth) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileCookieSupport: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam cookie support"); if (IsDimensionSupported(_dimensions.mobileCookieSupport) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileImageSupport: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam image support"); if (IsDimensionSupported(_dimensions.mobileImageSupport) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileColorDepth: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam color depth"); if (IsDimensionSupported(_dimensions.mobileColorDepth) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileAudioSupport: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam audio support"); if (IsDimensionSupported(_dimensions.mobileAudioSupport) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileVideoSupport: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam video support"); if (IsDimensionSupported(_dimensions.mobileVideoSupport) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileDRM: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam drm"); if (IsDimensionSupported(_dimensions.mobileDRM) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileNetProtocols: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam net protocols"); if (IsDimensionSupported(_dimensions.mobileNetProtocols) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileOS: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam operating system"); if (IsDimensionSupported(_dimensions.mobileOS) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileJavaVM: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam java version"); if (IsDimensionSupported(_dimensions.mobileJavaVM) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileMaxBookmarkUrlLength: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam bookmark url length"); if (IsDimensionSupported(_dimensions.mobileMaxBookmarkUrlLength) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileMaxMailUrlLength: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam mail url length"); if (IsDimensionSupported(_dimensions.mobileMaxMailUrlLength) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileMaxBroswerUrlLength: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam browser url length"); if (IsDimensionSupported(_dimensions.mobileMaxBrowserUrlLength) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileDeviceNumberTransmit: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam device number transmit (on/off)"); if (IsDimensionSupported(_dimensions.mobileDeviceNumberTransmit) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobilePushToTalk: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam ptt"); if (IsDimensionSupported(_dimensions.mobilePushToTalk) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileMailDecoration: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam decoration mail support"); if (IsDimensionSupported(_dimensions.mobileMailDecoration) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.MobileInformationServices: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam information services"); if (IsDimensionSupported(_dimensions.mobileInformationServices) && IsMetricSupported(_metrics.mobileViews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.MobileData; } break; case ReportType.Reloads: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam reloads"); if (IsDimensionSupported(_dimensions.pageTitle) && IsMetricSupported(_metrics.reloads)) { bGeneric = true; _reportDisplayData = ReportDisplayData.ReloadData; } break; case ReportType.AveragePageDepth: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam page depth"); if (IsDimensionSupported(_dimensions.pageDepth) && IsMetricSupported(_metrics.pageviews) && IsMetricSupported(_metrics.visits)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteMetricData; } break; case ReportType.TimeVisitOnPage: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam time spent on page"); if (IsDimensionSupported(_dimensions.timeVisit) && IsMetricSupported(_metrics.instances)) { bGeneric = true; _reportDisplayData = ReportDisplayData.InstancesData; } break; case ReportType.EntryPage: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam entry pages"); if (IsDimensionSupported(_dimensions.landingPagePath) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.EntryPageOriginal: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam original entry pages"); if (IsDimensionSupported(_dimensions.entryPageOriginal) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.SearchEngineKeyword: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam search keywords - all"); if (IsDimensionSupported(_dimensions.searchKeyword) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.SearchEnginePaidKeyword: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam search keywords - paid"); if (IsDimensionSupported(_dimensions.searchEnginePaidKeyword) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.SearchEngineNaturalKeyword: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam search keywords - natural"); if (IsDimensionSupported(_dimensions.searchEngineNaturalKeyword) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.SiteCatalystSearchEngine: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam search engines - all"); if (IsDimensionSupported(_dimensions.searchEngine) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.SearchEnginePaid: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam search engines - paid"); if (IsDimensionSupported(_dimensions.searchEnginePaid) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.SearchEngineNatural: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam search engines - natural"); if (IsDimensionSupported(_dimensions.searchEngineNatural) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.SearchEngineNaturalPageRank: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam all search page ranking"); if (IsDimensionSupported(_dimensions.searchEngineNaturalPageRank) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.ReferringDomain: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam referring domains"); if (IsDimensionSupported(_dimensions.referringDomain) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.ReferringDomainOriginal: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam search keywords - all"); if (IsDimensionSupported(_dimensions.searchKeyword) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.Referrer: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam referrers"); if (IsDimensionSupported(_dimensions.source) && IsMetricSupported(_metrics.instances)) { bGeneric = true; _reportDisplayData = ReportDisplayData.InstancesData; } break; case ReportType.ReferrerType: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam referrer type"); if (IsDimensionSupported(_dimensions.medium) && IsMetricSupported(_metrics.instances)) { bGeneric = true; _reportDisplayData = ReportDisplayData.InstancesData; } break; case ReportType.Products: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam products"); if (IsDimensionSupported(_dimensions.productName) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.ReturnFrequency: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam return frequency"); if (IsDimensionSupported(_dimensions.returnFrequency) && IsMetricSupported(_metrics.visits)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitsData; } break; case ReportType.VisitNumber: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam visit number"); if (IsDimensionSupported(_dimensions.countOfVisits) && IsMetricSupported(_metrics.pageviews) && IsMetricSupported(_metrics.visits)) { bGeneric = true; _reportDisplayData = ReportDisplayData.PageVisitsData; } break; case ReportType.GeoCountries: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam countries"); if (IsDimensionSupported(_dimensions.country) && IsMetricSupported(_metrics.visitors)) { _bDrillDownReport = false; _bDrillDownDetail = false; reportSummary = ""; _defaultView = DisplayView.Table; report = _dataManager.GetLocations(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.GeoRegions: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam regions"); if (IsDimensionSupported(_dimensions.region) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.GeoCities: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam cities"); if (IsDimensionSupported(_dimensions.city) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.GeoDMA: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam u.s. dma"); if (IsDimensionSupported(_dimensions.geoDMA) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.HomePage: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = GetMessage("sam visitor home page"); _columnName = GetMessage("page lbl"); if (IsDimensionSupported(_dimensions.pageTitle) && IsMetricSupported(_metrics.visits)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitsData; } break; case ReportType.SiteCatalystLanguage: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam languages"); if (IsDimensionSupported(_dimensions.language) && IsMetricSupported(_metrics.visitors) && IsMetricSupported(_metrics.pageviews)) { _bDrillDownReport = false; _bDrillDownDetail = false; reportSummary = ""; _defaultView = DisplayView.Table; report = _dataManager.GetLanguages(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.PageVisitorsData; } break; case ReportType.TimeZone: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam time zones"); if (IsDimensionSupported(_dimensions.timeVisit) && IsMetricSupported(_metrics.visitors) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.PageVisitorsData; } break; case ReportType.Domain: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam domains"); if (IsDimensionSupported(_dimensions.networkLocation) && IsMetricSupported(_metrics.pageviews)) { reportSummary = GetMessage("lbl visit came from network locations"); _defaultView = DisplayView.Table; report = _dataManager.GetNetworkLocations(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.PageVisitorsData; } break; case ReportType.TopLevelDomain: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam top level domains"); if (IsDimensionSupported(_dimensions.topLevelDomain) && IsMetricSupported(_metrics.visitors) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.PageVisitorsData; } break; case ReportType.SiteCatalystBrowsers: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam browsers"); if (IsDimensionSupported(_dimensions.browser) && IsMetricSupported(_metrics.visitors) && IsMetricSupported(_metrics.pageviews)) { _bDrillDownReport = false; _bDrillDownDetail = false; report = _dataManager.GetBrowsers(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.SiteContentData; this.ShowPieChart = false; } break; case ReportType.BrowserType: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam browser types"); if (IsDimensionSupported(_dimensions.browserType) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.BrowserWidth: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam browser width"); if (IsDimensionSupported(_dimensions.browserWidth) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.BrowserHeight: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam browser height"); if (IsDimensionSupported(_dimensions.browserHeight) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.SiteCatalystOperatingSystem: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam operating systems"); if (IsDimensionSupported(_dimensions.operatingSystem) && IsMetricSupported(_metrics.visitors) && IsMetricSupported(_metrics.pageviews)) { _bDrillDownReport = false; _bDrillDownDetail = false; report = _dataManager.GetOperatingSystems(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.PageVisitorsData; this.ShowPieChart = false; } break; case ReportType.MonitorColorDepth: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam monitor color depths"); if (IsDimensionSupported(_dimensions.screenColors) && IsMetricSupported(_metrics.visitors)) { _bDrillDownReport = false; _bDrillDownDetail = false; report = _dataManager.GetScreenColors(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.VisitorsData; this.ShowPieChart = false; } break; case ReportType.MonitorResolution: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam monitor resolutions"); if (IsDimensionSupported(_dimensions.screenResolution) && IsMetricSupported(_metrics.visitors)) { _bDrillDownReport = false; _bDrillDownDetail = false; report = _dataManager.GetScreenResolutions(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.VisitorsData; this.ShowPieChart = false; } break; case ReportType.JavaEnabled: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam java"); if (IsDimensionSupported(_dimensions.javaEnabled) && IsMetricSupported(_metrics.visitors)) { _bDrillDownReport = false; _bDrillDownDetail = false; report = _dataManager.GetJavaSupport(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.VisitorsData; this.ShowPieChart = false; } break; case ReportType.JavaScriptEnabled: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam javaScript"); if (IsDimensionSupported(_dimensions.javaScriptEnabled) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.JavaScriptVersion: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam javaScript version"); if (IsDimensionSupported(_dimensions.javaScriptVersion) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.CookiesEnabled: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam cookies"); if (IsDimensionSupported(_dimensions.cookiesEnabled) && IsMetricSupported(_metrics.visitors)) { bGeneric = true; _reportDisplayData = ReportDisplayData.VisitorsData; } break; case ReportType.ConnectionTypes: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam connection types"); if (IsDimensionSupported(_dimensions.connectionSpeed) && IsMetricSupported(_metrics.visitors)) { _bDrillDownReport = false; _bDrillDownDetail = false; report = _dataManager.GetConnectionSpeeds(provider, startDate, endDate, criteria); _reportDisplayData = ReportDisplayData.VisitorsData; this.ShowPieChart = false; } break; case ReportType.VisitorUSState: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam visitor state"); if (IsDimensionSupported(_dimensions.state) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; case ReportType.VisitorZipCode: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = _columnName = GetMessage("sam visitor zip/postal code"); if (IsDimensionSupported(_dimensions.zip) && IsMetricSupported(_metrics.pageviews)) { bGeneric = true; _reportDisplayData = ReportDisplayData.SiteContentData; } break; #endregion #region WebTrends Reports case ReportType.WebTrendsReport: litCssTweaks.Text = cssTweak; criteria.ReportGUID = this.ReportGUID; bGeneric = true; _reportDisplayData = ReportDisplayData.DynamicData; break; #endregion case ReportType.CmsSearchTerms: litCssTweaks.Text = cssTweak; ReportTitle = _reportTypeName = GetMessage("lbl cms search terms"); reportSummary = GetMessage("lbl searches used search terms"); _columnName = GetMessage("lbl phrase"); _bDrillDownDetail = false; // not implemented UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.PageViews, allowSorting); report = _dataManager.GetCmsSearchTerms(startDate, endDate); break; default: ReportTitle = _reportTypeName = _reportType.ToString(); break; } if (bGeneric) { _bDrillDownReport = false; _bDrillDownDetail = false; reportSummary = ""; _defaultView = DisplayView.Table; //UpdateCriteriaOrderBy(criteria, AnalyticsSortableField.Exits, allowSorting); report = _dataManager.GetReportRanked(provider, _reportType, startDate, endDate, criteria); reports = new List<AnalyticsReportData>(); reports.Add(report); ltrVisualizationView.Text = GetMessage("generic view"); } } catch (Exception ex) { if (ex.Message.Contains("Username and/or password not set")) litErrorMessage.Text = this.GetMessage("err google overview"); else if (ex.Message.Contains("Web Services Username and/or Secret not set")) litErrorMessage.Text = this.GetMessage("err analytic report"); else litErrorMessage.Text = ex.Message; ErrorPanel.Visible = true; } if (null == reports || 0 == reports.Count) { if (string.IsNullOrEmpty(provider)) { this.htmReportSummary.InnerText = GetMessage("msg no data report"); } else { string pName = provider.Substring(0, 1).ToUpper() + provider.Substring(1, provider.Length - 1); this.htmReportSummary.InnerText = String.Format(GetMessage("msg report not supported"), ReportTitle, pName); //"{0} report is not supported by {1}" } } else if (0 == reports[0].TotalResults) { this.htmReportSummary.InnerText = GetMessage("msg no data report"); if (reports[0].ReportDataSet != null && !string.IsNullOrEmpty(reports[0].ReportDataSet.Title)) { ReportTitle = _reportTypeName = reports[0].ReportDataSet.Title; } if (!string.IsNullOrEmpty(provider)) { ReportTitle = _dataManager.GetProviderSiteURL(provider) + " " + ReportTitle; } } else { if (reports[0].ReportDataSet != null) { if (reports[0].ReportDataSet.HasDrillDownData != null) { _bDrillDownReport = (String.IsNullOrEmpty(_forValue) ? reports[0].ReportDataSet.HasDrillDownData : false); } if (!string.IsNullOrEmpty(reports[0].ReportDataSet.Title)) { ReportTitle = _reportTypeName = reports[0].ReportDataSet.Title; } } if (!string.IsNullOrEmpty(provider)) { ReportTitle = _dataManager.GetProviderSiteURL(provider) + " " + ReportTitle; } htmReportTitle.InnerText = ReportTitle; RenderDateRange(); if (!String.IsNullOrEmpty(reportSubtitle)) { htmReportSubtitle.InnerText = reportSubtitle; htmReportSubtitle.Visible = true; } if (DisplayView.Detail == this.View) { switch (_reportDisplayData) { case ReportDisplayData.SiteData: case ReportDisplayData.SiteMetricData: case ReportDisplayData.SiteContentData: case ReportDisplayData.InstancesData: case ReportDisplayData.MobileData: case ReportDisplayData.ReloadData: case ReportDisplayData.VisitsData: case ReportDisplayData.VisitorsData: case ReportDisplayData.PageVisitsData: case ReportDisplayData.PageVisitorsData: case ReportDisplayData.DynamicData: this.htmReportSummary.Visible = false; break; case ReportDisplayData.PageData: case ReportDisplayData.LandingPageData: case ReportDisplayData.ExitPageData: string total = (reports[0].TotalPageViews > 0) ? reports[0].TotalPageViews.ToString() : ""; this.htmReportSummary.InnerText = String.Format(GetMessage("lbl page viewed times"), total); break; default: throw new ArgumentOutOfRangeException("_reportDisplayData", "Unknown ReportDisplayData: " + _reportDisplayData); } } else { string total = ""; switch (_reportDisplayData) { case ReportDisplayData.SiteData: case ReportDisplayData.SiteMetricData: total = (reports[0].TotalVisits > 0) ? reports[0].TotalVisits.ToString() : ""; if (this.ProviderSegments != null && this.ProviderSegments.Count > 1) { this.htmReportSummary.InnerText = String.Format(reportSegSummary, total, reports[0].TotalResults, reports[0].Segment.Name); } else { this.htmReportSummary.InnerText = String.Format(reportSummary, total, reports[0].TotalResults); } break; case ReportDisplayData.SiteContentData: case ReportDisplayData.InstancesData: case ReportDisplayData.PageData: total = (reports[0].TotalResults > 0) ? reports[0].TotalResults.ToString() : ""; if (total.Length > 0) { if (this.ProviderSegments != null && this.ProviderSegments.Count > 1) { this.htmReportSummary.InnerText = String.Format(reportSegSummary, total, reports[0].TotalPageViews, reports[0].Segment.Name); } else { this.htmReportSummary.InnerText = String.Format(reportSummary, total, reports[0].TotalPageViews); } } else { this.htmReportSummary.InnerText = String.Format(reportSummaryShort, reports[0].TotalPageViews); } break; case ReportDisplayData.LandingPageData: total = (reports[0].TotalEntrances > 0) ? reports[0].TotalEntrances.ToString() : ""; if (this.ProviderSegments != null && this.ProviderSegments.Count > 1) { this.htmReportSummary.InnerText = String.Format(reportSegSummary, total, reports[0].TotalResults, reports[0].Segment.Name); } else { this.htmReportSummary.InnerText = String.Format(reportSummary, total, reports[0].TotalResults); } break; case ReportDisplayData.ExitPageData: total = (reports[0].TotalExits > 0) ? reports[0].TotalExits.ToString() : ""; if (this.ProviderSegments != null && this.ProviderSegments.Count > 1) { this.htmReportSummary.InnerText = String.Format(reportSegSummary, total, reports[0].TotalResults, reports[0].Segment.Name); } else { this.htmReportSummary.InnerText = String.Format(reportSummary, total, reports[0].TotalResults); } break; case ReportDisplayData.MobileData: case ReportDisplayData.ReloadData: case ReportDisplayData.VisitorsData: case ReportDisplayData.VisitsData: case ReportDisplayData.PageVisitorsData: case ReportDisplayData.PageVisitsData: case ReportDisplayData.DynamicData: this.htmReportSummary.InnerText = ""; break; default: throw new ArgumentOutOfRangeException("_reportDisplayData", "Unknown ReportDisplayData: " + _reportDisplayData); } } } _reportGenerated = true; return reports; }
/// <summary> /// Initializes a new instance of the <see cref="AsyncMessagePump"/> class. /// </summary> /// <param name="queueName">Name of the queue.</param> /// <param name="storageAccount">The cloud storage account.</param> /// <param name="concurrentTasks">The number of concurrent tasks.</param> /// <param name="visibilityTimeout">The visibility timeout.</param> /// <param name="maxDequeueCount">The maximum dequeue count.</param> /// <param name="metrics">The system where metrics are published</param> public AsyncMessagePump(string queueName, CloudStorageAccount storageAccount, int concurrentTasks = 25, TimeSpan?visibilityTimeout = null, int maxDequeueCount = 3, IMetrics metrics = null) { if (concurrentTasks < 1) { throw new ArgumentException("Number of concurrent tasks must be greather than zero", nameof(concurrentTasks)); } if (maxDequeueCount < 1) { throw new ArgumentException("Number of retries must be greather than zero", nameof(maxDequeueCount)); } _queueManager = new QueueManager(queueName, storageAccount); _concurrentTasks = concurrentTasks; _visibilityTimeout = visibilityTimeout; _maxDequeueCount = maxDequeueCount; if (metrics == null) { var noop = new MetricsBuilder(); noop.Configuration.Configure(new MetricsOptions() { Enabled = false, ReportingEnabled = false }); _metrics = noop.Build(); } else { _metrics = metrics; } OnQueueEmpty = cancellationToken => Task.Delay(1500, cancellationToken).Wait(); OnError = (message, exception, isPoison) => _logger.ErrorException("An error occured when processing a message", exception); }
public static TracerDecoratorBuilder WithAppMetrics(this TracerDecoratorBuilder builder, IMetrics metrics, bool allEnabled = true, Action <OpenTracingAppMetricsDecoratorOptions> setupOptions = null) => WithAppMetrics(builder, metrics, OpenTracingAppMetricsDecoratorOptions.Default, setupOptions ?? (opts => { }));
public PKCommand(NpgsqlCommand inner, PKConnection ourConnection, ILogger logger, IMetrics metrics) { Inner = inner; _ourConnection = ourConnection; _logger = logger.ForContext <PKCommand>(); _metrics = metrics; }
private static TracerDecoratorBuilder WithAppMetrics(this TracerDecoratorBuilder builder, IMetrics metrics, OpenTracingAppMetricsDecoratorOptions options, Action <OpenTracingAppMetricsDecoratorOptions> setupOptions) { options = options ?? throw new ArgumentNullException(nameof(options)); setupOptions?.Invoke(options); if (options.SpansCountersEnabled) { var spansCounter = new CounterOptions { Name = options.SpansCounterName }; builder.OnSpanStarted((span, operationName) => { metrics.Measure.Counter.Increment(spansCounter, operationName); if (options.DistinctOperationsCountersEnabled) { var distinctCounter = new CounterOptions { Name = options.DistinctOperationCountersName + operationName }; metrics.Measure.Counter.Increment(distinctCounter); } }); builder.OnSpanFinished((span, operationName) => { metrics.Measure.Counter.Decrement(spansCounter, operationName); if (options.DistinctOperationsCountersEnabled) { var distinctCounter = new CounterOptions { Name = options.DistinctOperationCountersName + operationName }; metrics.Measure.Counter.Decrement(distinctCounter); } }); } if (options.SpansMetersEnabled) { var spansMeter = new MeterOptions { Name = options.SpansMeterName }; builder.OnSpanStarted((span, operationName) => { metrics.Measure.Meter.Mark(spansMeter, operationName); if (options.DistinctOperationsMetersEnabled) { var distinctMeter = new MeterOptions { Name = options.DistinctOperationMetersName + operationName }; metrics.Measure.Meter.Mark(distinctMeter); } }); } if (options.SpansTimersEnabled) { var spansTimer = new TimerOptions { Name = options.SpansTimerName, DurationUnit = TimeUnit.Milliseconds, RateUnit = TimeUnit.Milliseconds }; builder.OnSpanStartedWithCallback((span, operationName) => { var timerContext = metrics.Measure.Timer.Time(spansTimer, operationName); TimerContext distinctTimerContext = default(TimerContext); if (options.DistinctOperationsTimersEnabled) { var distinctTimer = new TimerOptions { Name = options.DistinctOperationTimersName + operationName, DurationUnit = TimeUnit.Milliseconds, RateUnit = TimeUnit.Milliseconds }; distinctTimerContext = metrics.Measure.Timer.Time(distinctTimer); } return((sp, op) => { timerContext.Dispose(); distinctTimerContext.Dispose(); }); }); } return(builder); }
public Builder WithMetrics(IMetrics metrics) { Metrics = metrics; return(this); }
private StorageSynchronizer CreateStorageSynchronizer(IObjectStorage storageClient, ShellHelper.ShellExecutor executor, IMetrics metrics) { var key = GitKeyHelper.GetKeyFromEnvironment(); var storageSynchronizer = new StorageSynchronizer(storageClient, executor, metrics) { Converters = { new RulesConverter(), new ExternalAppsConverter(key), new PolicyConverter(), new SubjectExtractionRulesConverter(), } }; return(storageSynchronizer); }
public MetricsContextFilteringTests(MetricsWithMultipleContextsSamplesFixture fixture) { _metrics = fixture.Metrics; }
public Worker(ILogger <Worker> logger, IOptions <ForzaConfig> options, IMetrics metrics) { _logger = logger; config = options.Value; this.metrics = metrics; }
public static void Gauge(this IMetrics metrics, string name, float value) { metrics.Gauge(name, (uint)Math.Abs(value)); }
public static void Gauge(this IMetrics metrics, string name, Int32 value) { metrics.Gauge(name, (uint)value); }
public static void Gauge(this IMetrics metrics, string name, SByte value) { metrics.Gauge(name, (uint)(value) & 0xff); }
public static void Gauge(this IMetrics metrics, string name, f32_vec vec, float scale = 1) { metrics.Gauge($"{name}.x", vec.X * scale); metrics.Gauge($"{name}.y", vec.Y * scale); metrics.Gauge($"{name}.z", vec.Z * scale); }
public void StartReportRun(IMetrics metrics) { }
public async Task RunAsync( CTLConfig config, CosmosClient cosmosClient, ILogger logger, IMetrics metrics, string loggingContextIdentifier, CancellationToken cancellationToken) { logger.LogInformation("Initializing counters and metrics."); CounterOptions documentCounter = new CounterOptions { Name = "#Documents received", Context = loggingContextIdentifier }; GaugeOptions leaseGauge = new GaugeOptions { Name = "#Leases created", Context = loggingContextIdentifier }; string leaseContainerId = Guid.NewGuid().ToString(); Container leaseContainer = await cosmosClient.GetDatabase(config.Database).CreateContainerAsync(leaseContainerId, "/id"); logger.LogInformation("Created lease container {0}", leaseContainerId); try { object lockObject = new object(); long documentTotal = 0; ChangeFeedProcessor changeFeedProcessor = cosmosClient.GetContainer(config.Database, config.Collection) .GetChangeFeedProcessorBuilder <SimpleItem>("ctlProcessor", (IReadOnlyCollection <SimpleItem> docs, CancellationToken token) => { lock (lockObject) { documentTotal += docs.Count; } metrics.Measure.Counter.Increment(documentCounter, docs.Count); return(Task.CompletedTask); }) .WithLeaseContainer(leaseContainer) .WithInstanceName(Guid.NewGuid().ToString()) .WithStartTime(DateTime.MinValue.ToUniversalTime()) .Build(); await changeFeedProcessor.StartAsync(); logger.LogInformation("Started change feed processor"); await Task.Delay(config.RunningTimeDurationAsTimespan, cancellationToken); logger.LogInformation("Stopping change feed processor"); await changeFeedProcessor.StopAsync(); // List leases using FeedIterator <LeaseSchema> leaseIterator = leaseContainer.GetItemQueryIterator <LeaseSchema>(); int leaseTotal = 0; List <FeedRange> ranges = new List <FeedRange>(); while (leaseIterator.HasMoreResults) { FeedResponse <LeaseSchema> response = await leaseIterator.ReadNextAsync(); foreach (LeaseSchema lease in response) { if (lease.LeaseToken != null) { logger.LogInformation($"Lease for range {lease.LeaseToken} - {lease.FeedRange.EffectiveRange.Min} - {lease.FeedRange.EffectiveRange.Max}"); ranges.Add(lease.FeedRange.EffectiveRange); leaseTotal++; } } } logger.LogInformation($"Total count of leases {leaseTotal}."); metrics.Measure.Gauge.SetValue(leaseGauge, leaseTotal); string previousMin = ""; foreach (FeedRange sortedRange in ranges.OrderBy(range => range.Min)) { if (previousMin != sortedRange.Min) { logger.LogError($"Expected a sorted range with Min <{previousMin}> but encountered range <{sortedRange.Min}>:<{sortedRange.Max}>"); } previousMin = sortedRange.Max; } if (config.PreCreatedDocuments > 0) { if (this.initializationResult.InsertedDocuments != documentTotal) { logger.LogError($"Expected to receive {this.initializationResult.InsertedDocuments} documents and got {documentTotal}"); } } } catch (Exception ex) { logger.LogError(ex, "Failure during Change Feed Processor initialization"); } finally { await leaseContainer.DeleteContainerAsync(); if (this.initializationResult.CreatedDatabase) { await cosmosClient.GetDatabase(config.Database).DeleteAsync(); } if (this.initializationResult.CreatedContainer) { await cosmosClient.GetContainer(config.Database, config.Collection).DeleteContainerAsync(); } } }
public PocoRepository(TParent parent, IMetrics metrics, IStorePocos store, IMessageSerializer serializer, IDomainUnitOfWork uow) : base(metrics, store, serializer, uow) { _parent = parent; }
private void setMetrics(IMetrics metrics) { _x.descend("Metrics"); for (_x.descendCollection("Metric"); _x.nextInCollection();) { var value = _x.getValueAsInt("Value"); switch (_x["Name"]) { case "MaintainabilityIndex": metrics.MaintainabilityIndex = value; break; case "CyclomaticComplexity": metrics.CyclomaticComplexity = value; break; case "ClassCoupling": metrics.ClassCoupling = value; break; case "LinesOfCode": metrics.LinesOfCode = value; break; } } _x.ascend(); }
public PluginContext(IConfiguration config, ILogger logger, IMetrics metrics) : this(config, logger, metrics, null, null) { }
public static TracerDecoratorBuilder WithAppMetrics(this TracerDecoratorBuilder builder, IMetrics metrics, OpenTracingAppMetricsDecoratorOptions options) => WithAppMetrics(builder, metrics, options, opts => { });
public ExceptionThrowingController(IMetrics metrics) { _metrics = metrics ?? throw new ArgumentNullException(nameof(metrics)); }
private List<TrendReportData> GetAnalyticsReport(string provider, string sortExpression, SortDirection sortDirection) { _metrics = _dataManager.GetMetrics(provider); List<TrendReportData> reports = new List<TrendReportData>(); TrendReportData report = null; DateTime startDate = _startDate; DateTime endDate = _endDate; string reportSummary = ""; if (ErrorPanel.Visible) { this.htmReportSummary.InnerText = ""; return null; } string cssTweak = string.Empty; string providerType = _dataManager.GetProviderType(provider); if (providerType != "Ektron.Cms.Analytics.Providers.GoogleAnalyticsProvider") { if (FromWidget) { cssTweak = "<style type='text/css'> .EktronPersonalization .analyticsReport input.SegmentPopupBtn {display: none;} </style>"; } else { cssTweak = "<style type='text/css'> input.SegmentPopupBtn {display: none;} </style>"; } } litCssTweaks.Text = cssTweak; AnalyticsCriteria criteria = new AnalyticsCriteria(); try { switch (_reportType) { case ReportType.Visits: ReportTitle = GetMessage("lbl visits for all visitors"); if (IsMetricSupported(_metrics.visits)) { //report = _dataManager.GetVisitsTrend(provider, startDate, endDate, criteria); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); reportSummary = String.Format(GetMessage("lbl visits or visits per day"), reports[0].Total, EkFunctions.GetRatio(reports[0].Total, reports[0].Items.Count)); } break; case ReportType.AbsoluteUniqueVisitors: ReportTitle = GetMessage("sam absolute unique visitors"); if (IsMetricSupported(_metrics.visitors)) { //report = _dataManager.GetAbsoluteUniqueVisitorsTrend(provider, startDate, endDate, criteria); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); reportSummary = String.Format(GetMessage("lbl absolute unique visitors report"), reports[0].Total, 0); } break; case ReportType.Pageviews: ReportTitle = GetMessage("lbl pageviews for all visitors"); if (IsMetricSupported(_metrics.pageviews)) { //report = _dataManager.GetPageViewsTrend(provider, startDate, endDate, criteria); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); reportSummary = String.Format(GetMessage("lbl pageviews trend"), reports[0].Total, 0); } break; case ReportType.AveragePageviews: ReportTitle = GetMessage("lbl average pageviews for all visitors"); if (IsMetricSupported(_metrics.pageviews) && IsMetricSupported(_metrics.visits)) { //report = _dataManager.GetAveragePageViewsTrend(provider, startDate, endDate, criteria); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); reportSummary = String.Format(GetMessage("lbl pages per visit"), reports[0].Total, 0); dataType = DataType.Value; } break; case ReportType.TimeOnSite: ReportTitle = GetMessage("lbl time on site for all visitors"); if (IsMetricSupported(_metrics.timeOnSite) && IsMetricSupported(_metrics.visits)) { //report = _dataManager.GetTimeOnSiteTrend(provider, startDate, endDate, criteria); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); reportSummary = String.Format(GetMessage("lbl avg time on site"), TimeSpan.FromSeconds(Math.Round(Convert.ToDouble(reports[0].Total))), 0); dataType = DataType.Time; } break; case ReportType.BounceRate: ReportTitle = GetMessage("lbl bounce rate for all visitors"); if (IsMetricSupported(_metrics.bounces) && IsMetricSupported(_metrics.entrances)) { //report = _dataManager.GetBounceRateTrend(provider, startDate, endDate, criteria); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); if (reports != null && reports.Count > 0) { reportSummary = String.Format(GetMessage("lbl bounce rate report"), reports[0].Total, 0); dataType = DataType.Rate; } } break; case ReportType.DailyVisitors: ReportTitle = reportSummary = GetMessage("lbl daily unique visitor"); if (IsMetricSupported(_metrics.dailyVisitors)) { //report = _dataManager.GetReportTrend(provider, _reportType, startDate, endDate, criteria); reports = this.GetReportDataList(provider, _reportType, startDate, endDate, criteria); dataType = DataType.Value; } break; case ReportType.pageViewsTrends: ReportTitle = reportSummary = GetMessage("sam page views trends"); if (IsMetricSupported(_metrics.pageviews)) { report = _dataManager.GetPageViewsTrend(provider, startDate, endDate, criteria); reports.Add(report); reportSummary = String.Format(GetMessage("lbl pageviews trend"), reports[0].Total, 0); } break; case ReportType.kbytesTrend: ReportTitle = reportSummary = GetMessage("sam bandwidth: kbytes transferred trend"); if (IsMetricSupported(_metrics.kBytes)) { report = _dataManager.GetReportTrend(provider, _reportType, startDate, endDate, criteria); reports.Add(report); dataType = DataType.Value; } break; } if (reports != null && reports.Count > 0) { maxValue = reports[0].MaximumValue; } } catch (Exception ex) { throw new Exception(ex.Message); } if (null == reports || 0 == reports.Count) { this.htmReportSummary.InnerText = String.Format(GetMessage("msg report not supported"), ReportTitle, provider); } else { reports[0].Items.Sort(new Comparison<ReportItem>(ReportItem.CompareDate)); this.htmReportTitle.Visible = true; this.htmReportTitle.InnerText = reportSummary; RenderDateRange(); this.htmReportSummary.Visible = false; //this.htmReportSubtitle.Visible = true; //this.htmReportSubtitle.InnerText = reportSummary; //this.htmReportSummary.InnerText = reportSummary; } _reportGenerated = true; return reports; }
public static Func <HttpRequest, HttpResponse, RouteData, Task> Create(SyncActor syncActor, IMetrics metrics, HooksHelper hooksHelper) { return(async(req, res, routedata) => { var commitId = req.Query["commit"].ToString(); if (!IsCommitIdString(commitId)) { res.StatusCode = 400; await res.WriteAsync("Invalid commit id"); return; } try { await syncActor.PushToUpstream(commitId); metrics.Measure.Counter.Increment(Push, Success); #pragma warning disable CS4014 hooksHelper.TriggerNotificationHooksForCommit(commitId); #pragma warning restore CS4014 } catch (Exception ex) { metrics.Measure.Counter.Increment(Push, Failure); res.StatusCode = 500; await res.WriteAsync(ex.Message); } #pragma warning disable CS4014 syncActor.SyncToLatest(); #pragma warning restore CS4014 }); }
public SatisfyingController(IMetrics metrics, RequestDurationForApdexTesting durationForApdexTesting) { _metrics = metrics ?? throw new ArgumentNullException(nameof(metrics)); _durationForApdexTesting = durationForApdexTesting; }
public MetricsInterceptor(IMetrics metrics) { _metrics = metrics; }
public UnitOfWorkExecutor(IMetrics metrics) { _metrics = metrics; }
public HomeController(IMetrics metrics) { _metrics = metrics; }
public MetricsFilteringTests(MetricsWithSamplesFixture fixture) { _metrics = fixture.Metrics; }
public void StartReport(IMetrics metrics) { _logger.LogDebug("Starting TextFile Report Run"); _stringReporter.StartReport(metrics); }
public static IMetrics IncrementActiveRequests(this IMetrics metrics) { metrics.Measure.Counter.Increment(HttpRequestMetricsRegistry.Counters.ActiveRequests); return(metrics); }
public static IMetrics UpdatePostAndPutRequestSize(this IMetrics metrics, long value) { metrics.Measure.Histogram.Update(HttpRequestMetricsRegistry.Histograms.PostAndPutRequestSize, value); return(metrics); }
public CommandAcceptor(IMetrics metrics) { _metrics = metrics; }
public void StartReportRun(IMetrics metrics) { _buffer.WriteMetricStartReport( Name, metrics.Clock.FormatTimestamp(metrics.Clock.UtcDateTime)); }