public EDID(byte[] buffer) { if (buffer == null || buffer.Length != 128) { Buffer = new byte[128]; for (int i = 0; i < HEADER.Length; i++) { Buffer[i] = HEADER[i]; } } else { Buffer = buffer; } CustomTimings = new CustomTiming[8]; for (int i = 0; i < CustomTimings.Length; i++) { CustomTimings[i] = new CustomTiming(this, 38 + i * 2); } Descriptors = new Descriptor[4]; for (int i = 0; i < Descriptors.Length; i++) { Descriptors[i] = Descriptor.GetDescriptor(this, 54 + i * 18); } }
public override void Execute(ObjectConstructionArgs args) { var miniProfiler = _profiler as MiniProfiler; //if (miniProfiler == null || !miniProfiler.IsActive || miniProfiler.Options?.TrackConnectionOpenClose == false) if (miniProfiler == null) { _inner.Execute(args); return; } using (var timing = new CustomTiming(miniProfiler, "ConstructionTimerStart Execute()", _debugSettings.SlowModelThreshold)) { var stopwatch = new Stopwatch(); stopwatch.Start(); try { _inner.Execute(args); } finally { stopwatch.Stop(); if (stopwatch.ElapsedMilliseconds > _debugSettings.SlowModelThreshold) { var key = _cacheKeyGenerator.Generate(args) + "stopwatch"; var finaltType = args.Result.GetType(); timing.CommandString = string.Format("Slow Glass Model - Time: {0} Cachable: {1} Type: {2} Key: {3}", stopwatch.ElapsedMilliseconds, args.Configuration.Cachable, finaltType.FullName, key); } } } }
public async Task <IActionResult> Privacy() { // 这个例子里,我们使用 MiniProfiler.Current.CustomTiming() 方法。 // 第一个参数是一个用于分类的字符串,这里我用的是http请求,所以写了http; // 第二个参数是命令字符串,这里我用不上,暂时留空; // 第三个参数是执行类型,这里我用的是Get请求,所以写了GET; using (CustomTiming timing = MiniProfiler.Current.CustomTiming("http", string.Empty, "GET")) { var url = "http://27.24.159.155"; var httpClient = new HttpClient { BaseAddress = new Uri(url) }; httpClient.DefaultRequestHeaders.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = await httpClient.GetAsync("/system/resource/code/news/click/dynclicks.jsp?clickid=1478&owner=1220352265&clicktype=wbnews"); timing.CommandString = $"URL:{url}\n\r Response Code:{response.StatusCode}"; if (!response.IsSuccessStatusCode) { throw new Exception("Error fetching data from API"); } var clickTimes = await response.Content.ReadAsStringAsync(); ViewData["clickTimes"] = clickTimes; } return(View()); }
IDisposable Elastic.IProfiler.Profile(string name, string command) { MiniProfiler profiler; CustomTiming timing = null; if ((profiler = MiniProfiler.Current) != null) { timing = profiler.CustomTiming("elastic", command, name); } return(new InnerProfileObject(this, timing)); }
protected async override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var httpVerb = request.Method.ToString(); string url = request.RequestUri.AbsoluteUri; var requestContent = await GetRequestContent(request); using (CustomTiming timing = MiniProfiler.Current.CustomTiming("http", string.Empty, httpVerb)) { var response = await base.SendAsync(request, cancellationToken); timing.CommandString = $"URL : {url}\nCONTENT : {requestContent}\nRESPONSE CODE: {response.StatusCode}"; return(response); } }
private async Task <string> GetApiCallData() { using (CustomTiming timing = MiniProfiler.Current.CustomTiming("http", string.Empty, "GET")) { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(_uri); MediaTypeWithQualityHeaderValue contentType = new MediaTypeWithQualityHeaderValue("application/json"); client.DefaultRequestHeaders.Accept.Add(contentType); HttpResponseMessage response = client.GetAsync(_requestUri).Result; string stringData = response.Content.ReadAsStringAsync().Result; timing.CommandString = $"URL: {_uri + _requestUri} \n\nRESPONSE CODE: {response.StatusCode}"; return(stringData); } } }
public async Task <IActionResult> Create([Bind("Id,Item,Amount")] Payment payment) { if (ModelState.IsValid) { // Custom timing for MiniProfiler using (CustomTiming timing = MiniProfiler.Current.CustomTiming("MyLongRun", "Test command", executeType: "Test", includeStackTrace: true)) { payment.Id = Guid.NewGuid(); payment.CreateOn = DateTimeOffset.UtcNow; _dbcontext.Add(payment); await _dbcontext.SaveChangesAsync(); timing.CommandString = $"Inserting {payment.Item} with amount {payment.Amount.ToString()}."; } return(RedirectToAction(nameof(Index))); } return(View(payment)); }
public async Task <StockIndexInfo> GetStockIndexPrice(String indexCode, TradeDate date) { String url = $"api/StockIndexPrices/{indexCode}?tradeDate={date.Date.ToString("yyyy-MM-dd")}"; var httpClient = httpClientFactory.CreateClient("StockIndexApi"); using (CustomTiming timing = MiniProfiler.Current.CustomTiming("http", String.Empty, "GET")) { var response = await httpClient.GetAsync(url); timing.CommandString = $"URL : {url}\n\nRESPONSE CODE: {response.StatusCode}"; if (response.IsSuccessStatusCode) { return(await response.Content.ReadAsAsync <StockIndexInfo>()); } else { return(await Task.FromResult <StockIndexInfo>(null)); } } }