summaryrefslogtreecommitdiff
path: root/c0/d29fda30a87c823fed03235d7d5596a650dcff
blob: 94f77365b6ce15276309ad9450ffd2ce5c34800f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <mh.in.england@gmail.com>) id 1Wi8PK-0000WS-7o
	for bitcoin-development@lists.sourceforge.net;
	Wed, 07 May 2014 20:25:38 +0000
Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.219.50 as permitted sender)
	client-ip=209.85.219.50; envelope-from=mh.in.england@gmail.com;
	helo=mail-oa0-f50.google.com; 
Received: from mail-oa0-f50.google.com ([209.85.219.50])
	by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1Wi8PI-0007cs-SE
	for bitcoin-development@lists.sourceforge.net;
	Wed, 07 May 2014 20:25:38 +0000
Received: by mail-oa0-f50.google.com with SMTP id i7so1909182oag.37
	for <bitcoin-development@lists.sourceforge.net>;
	Wed, 07 May 2014 13:25:31 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.60.16.103 with SMTP id f7mr49087836oed.8.1399494331304; Wed,
	07 May 2014 13:25:31 -0700 (PDT)
Sender: mh.in.england@gmail.com
Received: by 10.76.71.162 with HTTP; Wed, 7 May 2014 13:25:31 -0700 (PDT)
In-Reply-To: <CA+s+GJCaUX3ErgVean0e91CBorPc6RNKgYs08fOOsqNYtbd6RA@mail.gmail.com>
References: <536A8592.8010009@gmail.com>
	<CA+s+GJASND3OU2e+YxUeLmSOW6pTkMwuzHCHeJnnihg6xK9Caw@mail.gmail.com>
	<536A902C.6080602@gmail.com>
	<CA+s+GJCaUX3ErgVean0e91CBorPc6RNKgYs08fOOsqNYtbd6RA@mail.gmail.com>
Date: Wed, 7 May 2014 22:25:31 +0200
X-Google-Sender-Auth: usJQzzB8yebuvuaDvBeFh9iEeiY
Message-ID: <CANEZrP2aUBFkwx0s_xcS_e4gv1Ao1240NVNNFR3bFUBf9hHqsA@mail.gmail.com>
From: Mike Hearn <mike@plan99.net>
To: Wladimir <laanwj@gmail.com>
Content-Type: multipart/alternative; boundary=089e0149c04e7b92e504f8d52ad1
X-Spam-Score: -0.5 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(mh.in.england[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1Wi8PI-0007cs-SE
Cc: "bitcoin-development@lists.sourceforge.net"
	<bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Announcing the Statoshi fork
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Wed, 07 May 2014 20:25:38 -0000

--089e0149c04e7b92e504f8d52ad1
Content-Type: text/plain; charset=UTF-8

I think there a few different possible ways to go here.

One is to try and simplify the setup of all the components so it all gets
installed together. That might be feasible in some quite restricted setups
but the installation instructions for Graphite look kind of terrifying.

Another is to export stats over regular TCP and make them public so
literally anyone can listen to the stats feed for any node. Then people who
dig stats and graphs could work on stats aggregators that give global
network visibility independently, effectively crawling the p2p network for
data. It'd have the advantage of having zero setup for the node operators
and not require much in the way of resources.

For what it's worth, although the environment is a bit different inside
Google the latter approach is used. Monitoring servers locate servers of
interest via a discovery service, connect to them and start streaming stats
data into a database service that can then be queried later to get graphs.

The stats are also run through various rules to obtain alerts about
problematic conditions. For example, if a subset of the network splits it
might be hard to notice that if the node operators aren't paying attention
and Matt's fork alert/emailing code isn't set up. But if there was a site
crawling nodes and aggregating chain heights by version, that could trigger
an alert to people who *are* paying attention.

I know from practical experience that monitoring and analysis tends to
appeal more to certain types of people than others. So I quite like the
"let anyone monitor" approach. However, it may not be appropriate in a P2P
network, I did not think about it much.

Obviously I'm assuming none of the stats expose privacy sensitive data.



On Wed, May 7, 2014 at 10:18 PM, Wladimir <laanwj@gmail.com> wrote:

> On Wed, May 7, 2014 at 9:57 PM, Jameson Lopp <jameson.lopp@gmail.com>
> wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > I agree that it would be awesome to offer these types of stats with the
> installer; unfortunately the route I've taken has dependencies on several
> other other pieces of software to do all the heavy lifting of stats
> aggregation and chart rendering. I'm assuming that you would not want to
> build any of that processing into Bitcoin Core itself; would you be opposed
> to packaging other software along with the installer?
>
> Depends on just how much stuff it is. The idea is primarily to have an
> installer for running a (wallet-less) node as an OS background
> service.
>
> Having some statistics available would be worth some extra download
> size, otherwise it would be pretty much invisible.
>
> We'd already decided that we would need something like Python for the
> stats service. Implementing things like web services in C++ is just
> not realistic given the time constraints and the great already-written
> code that is out there. As an optional tool it should be external, not
> part of bitcoind itself.
>
> I suppose the chart rendering happens client-side? In that case the
> web service just has to collect and provide the data, and serve static
> html/js files.
>
> Wladimir
>
>
> ------------------------------------------------------------------------------
> Is your legacy SCM system holding you back? Join Perforce May 7 to find
> out:
> &#149; 3 signs your SCM is hindering your productivity
> &#149; Requirements for releasing software faster
> &#149; Expert tips and advice for migrating your SCM now
> http://p.sf.net/sfu/perforce
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>

--089e0149c04e7b92e504f8d52ad1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I think there a few different possible ways to go here.<di=
v><br></div><div>One is to try and simplify the setup of all the components=
 so it all gets installed together. That might be feasible in some quite re=
stricted setups but the installation instructions for Graphite look kind of=
 terrifying.</div>
<div><br></div><div>Another is to export stats over regular TCP and make th=
em public so literally anyone can listen to the stats feed for any node. Th=
en people who dig stats and graphs could work on stats aggregators that giv=
e global network visibility independently, effectively crawling the p2p net=
work for data. It&#39;d have the advantage of having zero setup for the nod=
e operators and not require much in the way of resources.</div>
<div><br></div><div>For what it&#39;s worth, although the environment is a =
bit different inside Google the latter approach is used. Monitoring servers=
 locate servers of interest via a discovery service, connect to them and st=
art streaming stats data into a database service that can then be queried l=
ater to get graphs.=C2=A0</div>
<div><br></div><div>The stats are also run through various rules to obtain =
alerts about problematic conditions. For example, if a subset of the networ=
k splits it might be hard to notice that if the node operators aren&#39;t p=
aying attention and Matt&#39;s fork alert/emailing code isn&#39;t set up. B=
ut if there was a site crawling nodes and aggregating chain heights by vers=
ion, that could trigger an alert to people who <i>are</i>=C2=A0paying atten=
tion.</div>
<div><br></div><div>I know from practical experience that monitoring and an=
alysis tends to appeal more to certain types of people than others. So I qu=
ite like the &quot;let anyone monitor&quot; approach. However, it may not b=
e appropriate in a P2P network, I did not think about it much.</div>
<div><br></div><div>Obviously I&#39;m assuming none of the stats expose pri=
vacy sensitive data.</div><div><br></div></div><div class=3D"gmail_extra"><=
br><br><div class=3D"gmail_quote">On Wed, May 7, 2014 at 10:18 PM, Wladimir=
 <span dir=3D"ltr">&lt;<a href=3D"mailto:laanwj@gmail.com" target=3D"_blank=
">laanwj@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"">On Wed, May 7, 2014 at 9:57 =
PM, Jameson Lopp &lt;<a href=3D"mailto:jameson.lopp@gmail.com">jameson.lopp=
@gmail.com</a>&gt; wrote:<br>

&gt; -----BEGIN PGP SIGNED MESSAGE-----<br>
&gt; Hash: SHA1<br>
&gt;<br>
</div><div class=3D"">&gt; I agree that it would be awesome to offer these =
types of stats with the installer; unfortunately the route I&#39;ve taken h=
as dependencies on several other other pieces of software to do all the hea=
vy lifting of stats aggregation and chart rendering. I&#39;m assuming that =
you would not want to build any of that processing into Bitcoin Core itself=
; would you be opposed to packaging other software along with the installer=
?<br>

<br>
</div>Depends on just how much stuff it is. The idea is primarily to have a=
n<br>
installer for running a (wallet-less) node as an OS background<br>
service.<br>
<br>
Having some statistics available would be worth some extra download<br>
size, otherwise it would be pretty much invisible.<br>
<br>
We&#39;d already decided that we would need something like Python for the<b=
r>
stats service. Implementing things like web services in C++ is just<br>
not realistic given the time constraints and the great already-written<br>
code that is out there. As an optional tool it should be external, not<br>
part of bitcoind itself.<br>
<br>
I suppose the chart rendering happens client-side? In that case the<br>
web service just has to collect and provide the data, and serve static<br>
html/js files.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
Wladimir<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
---------------------------------------------------------------------------=
---<br>
Is your legacy SCM system holding you back? Join Perforce May 7 to find out=
:<br>
&amp;#149; 3 signs your SCM is hindering your productivity<br>
&amp;#149; Requirements for releasing software faster<br>
&amp;#149; Expert tips and advice for migrating your SCM now<br>
<a href=3D"http://p.sf.net/sfu/perforce" target=3D"_blank">http://p.sf.net/=
sfu/perforce</a><br>
_______________________________________________<br>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-develo=
pment@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
</div></div></blockquote></div><br></div>

--089e0149c04e7b92e504f8d52ad1--