Query optimisations for last_messages and traffic

This commit is contained in:
Deon George
2022-01-06 00:19:57 +11:00
parent 3d6f233c1d
commit 6b0bf32552
8 changed files with 104 additions and 130 deletions

View File

@@ -161,12 +161,11 @@
name: 'Networks',
colorByPoint: true,
data: [
@foreach(($xx=$user->systems->pluck('addresses')->flatten()->pluck('zone.domain')->sortBy('name')) as $oo)
@php($x = $oo->stats())
@foreach(($xx=$user->systems->pluck('addresses')->flatten()->pluck('zone.domain')->unique(function($item) { return $item->name; })->sortBy('name')) as $do)
{
name: '{{ $oo->name }}',
y: {{ $x->sum('count') }},
drilldown: 'n-{{ $oo->name }}',
name: '{{ $do->name }}',
y: {{ $do->daily_area_stats()->sum('y') }},
drilldown: 'n-{{ $do->name }}',
},
@endforeach
]
@@ -176,12 +175,11 @@
colorByPoint: true,
pointPlacement: 0.1,
data: [
@foreach($xx as $oo)
@php($x = $oo->stats($o))
@foreach($xx as $do)
{
name: '{{ $oo->name }}',
y: {{ $x->sum('count') }},
drilldown: 'ny-{{ $oo->name }}',
name: '{{ $do->name }}',
y: {{ $do->daily_area_stats(FALSE,$user->systems)->sum('y') }},
drilldown: 'ny-{{ $do->name }}',
color: Highcharts.color(Highcharts.getOptions().colors[{{$loop->index}}]).brighten(-0.2).get()
},
@endforeach
@@ -196,21 +194,19 @@
}
},
series: [
@foreach($xx as $oo)
@php($x = $oo->stats())
@foreach($xx as $do)
{
name: '{{ $oo->name }}',
id: 'n-{{ $oo->name }}',
data: {!! $x->sortBy('name')->map(function($item) use ($oo) { return ['name'=>$item->name,'y'=>$item->count,'drilldown'=>'e-'.$item->name]; })->values() !!}
name: '{{ $do->name }}',
id: 'n-{{ $do->name }}',
data: {!! $do->daily_area_stats(TRUE)->sortBy('name')->map(function($item) { return ['name'=>$item['name'],'y'=>$item['data']->sum('y'),'drilldown'=>'e-'.$item['name']]; })->values() !!}
},
@endforeach
@foreach($xx as $oo)
@php($x = $oo->stats($o))
@foreach($xx as $do)
{
name: '{{ $oo->name }}',
id: 'ny-{{ $oo->name }}',
data: {!! $x->sortBy('name')->map(function($item) { return ['name'=>$item->name,'y'=>$item->count,'drilldown'=>'ey-'.$item->name]; })->values() !!}
name: '{{ $do->name }}',
id: 'ny-{{ $do->name }}',
data: {!! $do->daily_area_stats(TRUE,$user->systems)->sortBy('name')->map(function($item) { return ['name'=>$item['name'],'y'=>$item['data']->sum('y'),'drilldown'=>'ey-'.$item['name']]; })->values() !!}
},
@endforeach
]