Skip to content

Commit 409a353

Browse files
author
Sergey
committed
Dashboard bug fixes
1 parent fa23faa commit 409a353

File tree

2 files changed

+40
-17
lines changed

2 files changed

+40
-17
lines changed

Perfon.WebApi/Controllers/PerfCountersController.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public IPerfomanceCountersStorage Db
3939
[Route("api/perfcounters")]
4040
public async Task<IHttpActionResult> Get()
4141
{
42-
var res = MemoryCache.Default.Get(keyList);
42+
var res = MemoryCache.Default.Get(keyList) as IEnumerable<string>;
4343

4444
if (res == null)
4545
{
@@ -57,10 +57,10 @@ public async Task<IHttpActionResult> Get()
5757
/// <param name="name"></param>
5858
/// <returns></returns>
5959
[Route("api/perfcounters")] ///{*name}
60-
public async Task<IHttpActionResult> Get([FromUri]string name, [FromUri]DateTime? date = null)
60+
public async Task<IHttpActionResult> Get([FromUri]string name, [FromUri]DateTime? date = null, [FromUri]int? skip = null)
6161
{
6262
string key = name+date.GetHashCode();
63-
var res = MemoryCache.Default.Get(key);
63+
var res = MemoryCache.Default.Get(key) as IEnumerable<PerfCounterValue>;
6464

6565
if (res == null)
6666
{
@@ -69,6 +69,11 @@ public async Task<IHttpActionResult> Get([FromUri]string name, [FromUri]DateTime
6969
MemoryCache.Default.Add(key, res, new DateTimeOffset(DateTime.Now.AddSeconds(2)));
7070
}
7171

72+
if (res != null && skip.HasValue)
73+
{
74+
res = res.Skip(skip.Value);
75+
}
76+
7277
return Ok(res);
7378
}
7479

Perfon.WebApi/UI/PerfCountersUIPanel.html

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@
150150
this.selectedName = undefined;
151151

152152
this.resetGraph = function(){
153-
this.dataArray = [[0,0]];
153+
this.dataArray = [];
154154
var lbl = $(self.graphBlockDOM).find('.labelsDiv')[0];
155155
self.graphDyg = new Dygraph(
156156
$(self.graphBlockDOM).find('.chart')[0],
@@ -192,37 +192,55 @@
192192
});
193193
};
194194
this.resetData = function(){
195-
this.dataArray.lentgh = 0;
195+
self.dataArray.lentgh = 0;
196+
self.dataArray = [];
196197
}
197198
this.updatePerfCounterChartBlock = function()
198199
{
199200
self.refreshPerfCounter($(self.graphBlockDOM).find(".perfcounter-name").first().val(), $("#date1").val(), self.graphDyg);
200201
}
201202
this.refreshPerfCounter = function(name, date, graph){
203+
console.log("update counter "+name+", "+self.dataArray.lentgh);
202204
if(name === undefined || name ==='')
203205
{
204206
return;
205207
}
206-
self.selectedName = name;
207-
getPerfCounterTrack(name, date).then(function(data)
208+
if(self.dataArray === undefined)
209+
{
210+
self.dataArray = [];
211+
}
212+
if(self.selectedName != name)
213+
{
214+
self.dataArray.length = 0;
215+
self.dataArray = [];
216+
self.selectedName = name;
217+
}
218+
getPerfCounterTrack(name, date, self.dataArray.length).then(function(data)
208219
{
209220
if(data !== undefined && data instanceof Array)
210221
{
211-
if(self.dataArray === undefined)
212-
{
213-
self.dataArray = [];
214-
}
215-
self.dataArray.length = 0;
216222
var lastTime = new Date();
217-
for(let i=self.dataArray.length;i<data.length;i++)
223+
for(let i=0;i<data.length;i++)
218224
{
219225
lastTime = new Date(data[i].Timestamp);
220226
self.dataArray.push([lastTime, data[i].Value]);
221227
}
222-
228+
var startRange=new Date(lastTime.valueOf()-1000*60*15);
229+
if(graph.dateWindow_ !== undefined && graph.dateWindow_ !== null &&graph.dateWindow_.length > 0)
230+
{
231+
if(new Date(graph.dateWindow_[0]).getDate() == lastTime.getDate())
232+
{
233+
startRange = graph.dateWindow_[0];
234+
}
235+
}
223236
graph.updateOptions({
224237
//title: name,
225-
dateWindow:[lastTime-1000*60*15, lastTime],
238+
'file': self.dataArray,
239+
dateWindow:[startRange, lastTime]
240+
});
241+
}else{
242+
self.dataArray = [];
243+
graph.updateOptions({
226244
'file': self.dataArray
227245
});
228246
}
@@ -271,8 +289,8 @@
271289
function getPerfCountersList(){
272290
return $.get(uri);
273291
}
274-
function getPerfCounterTrack(name, date){
275-
return $.get(uri+'?name='+encodeURI(name)+'&date='+date);
292+
function getPerfCounterTrack(name, date, skip){
293+
return $.get(uri+'?name='+encodeURI(name)+'&date='+date+'&skip='+skip);
276294
}
277295

278296
</script>

0 commit comments

Comments
 (0)