NTP Analyzer
0.8.2
Analyze the operation of time servers
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
PeerGraphPageJob.cs
Go to the documentation of this file.
1
//
2
// Copyright (c) 2013-2017 Carsten Sonne Larsen <cs@innolan.net>
3
//
4
// Permission is hereby granted, free of charge, to any person obtaining a copy
5
// of this software and associated documentation files (the "Software"), to deal
6
// in the Software without restriction, including without limitation the rights
7
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
// copies of the Software, and to permit persons to whom the Software is
9
// furnished to do so, subject to the following conditions:
10
//
11
// The above copyright notice and this permission notice shall be included in
12
// all copies or substantial portions of the Software.
13
//
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
// THE SOFTWARE.
21
22
using
System
.Linq;
23
using
Ntp
.
Analyzer
.
Config
.
Node
.
Page
;
24
using
Ntp
.
Analyzer
.
Data
;
25
using
Ntp
.
Analyzer
.
Page
;
26
using
Ntp
.
Analyzer
.
Process
.
Log
;
27
using
Ntp
.
Common
.
Log
;
28
using
Ntp
.
Common
.
Process
;
29
30
namespace
Ntp
.Analyzer.Process.Description
31
{
32
public
class
PeerGraphPageJob
:
StreamJob
33
{
34
public
PeerGraphPageJob
(
PeerGraphPageConfiguration
config,
LogBase
log)
35
: base(config, log)
36
{
37
this.config = config;
38
}
39
40
private
readonly
PeerGraphPageConfiguration
config
;
41
42
public
override
ThreadType
ThreadType
=> ThreadType.MultiThreaded;
43
44
public
override
string
JobType =>
"Peer graph pages build"
;
45
46
public
override
int
Priority => 18;
47
48
protected
override
void
InternalExecute
()
49
{
50
var host =
DataFace
.
Instance
.
Hosts
.SingleOrDefault(h => h.Id == config.HostId);
51
if
(host == null)
52
{
53
Log.HostNotFound(config.HostId);
54
return
;
55
}
56
57
var peers =
DataFace
.
Instance
.
PeerActivities
.Where(p => Equals(p.Host, host) && p.IsActive);
58
59
foreach
(var entry
in
peers)
60
{
61
foreach
(var graphSet
in
config.GraphSets)
62
{
63
foreach
(var graph
in
graphSet.Graphs)
64
{
65
var builder =
new
GraphPageBuilder
(config, entry.Peer, entry.Name, graphSet, graph);
66
string
file = config.GetFileName(host, entry.Name, graphSet, graph);
67
SaveStream(builder, file);
68
}
69
}
70
}
71
}
72
}
73
}
Ntp.Analyzer.Config
Ntp.Common.Process.ThreadType
ThreadType
Definition:
ThreadType.cs:24
Ntp.Analyzer.Data.DataFace.Hosts
HostDatabaseMapper Hosts
Gets the host mapper.
Definition:
DataFace.cs:57
Ntp.Analyzer.Process.Description.PeerGraphPageJob.InternalExecute
override void InternalExecute()
Implementing method for descendants.
Definition:
PeerGraphPageJob.cs:48
Ntp.Analyzer.Data
Ntp.Analyzer.Process.Description.StreamJob
Definition:
StreamJob.cs:29
Ntp.Analyzer.Config.Node.Page.PeerGraphPageConfiguration
Definition:
PeerGraphPageConfiguration.cs:34
Ntp.Analyzer.Process.Description.PeerGraphPageJob.PeerGraphPageJob
PeerGraphPageJob(PeerGraphPageConfiguration config, LogBase log)
Definition:
PeerGraphPageJob.cs:34
Ntp.Common
Ntp.Analyzer.Page.GraphPageBuilder
Definition:
GraphPageBuilder.cs:34
Ntp.Analyzer.Page
Definition:
BootstrapAboutPageBuilder.cs:29
Ntp.Analyzer.Process.Description.PeerGraphPageJob.config
readonly PeerGraphPageConfiguration config
Definition:
PeerGraphPageJob.cs:40
Ntp.Analyzer.Process.Description.PeerGraphPageJob
Definition:
PeerGraphPageJob.cs:32
Ntp.Common.Log.LogBase
Definition:
LogBase.cs:26
Ntp.Analyzer.Data.DataFace
Singleton facade class used to access memory persistent data.
Definition:
DataFace.cs:30
Ntp
Ntp.Analyzer.Data.DataFace.PeerActivities
PeerActivityDatabaseMapper PeerActivities
Gets the peer activity mapper.
Definition:
DataFace.cs:99
System
Ntp.Analyzer.Config.Node.Page
Definition:
AboutPageConfiguration.cs:29
Ntp.Analyzer.Config.Node
Definition:
ClusterConfiguration.cs:24
Ntp.Analyzer.Process
Ntp.Analyzer.Data.DataFace.Instance
static DataFace Instance
Gets the Singleton instance.
Definition:
DataFace.cs:51
Ntp.Analyzer.Process.Log
Definition:
LogExtensions.cs:30
Ntp.Analyzer
Ntp.Common.Process
Definition:
Cluster.cs:29
Ntp.Common.Log
Definition:
ActivityLog.cs:26
Ntp.Analyzer.Process
Description
PeerGraphPageJob.cs
Generated by
1.8.11