Commit Graph

2274 Commits

Author SHA1 Message Date
Brian Warner
bf25a041f3 tarballs: stick with setup.py's sdist command, which gives us bz2/gz/zip but not rz/7z/lrz. Closes #298. 2008-01-31 13:52:48 -07:00
Brian Warner
6b414074a9 offloaded.py: fix logging a bit 2008-01-31 13:45:01 -07:00
Brian Warner
4a363f0281 add 'tarballs' target, to generate compressed source tarballs 2008-01-30 20:45:14 -07:00
robk-tahoe
7b9f3207d0 stats: add a simple stats gathering system
We have a desire to collect runtime statistics from multiple nodes primarily
for server monitoring purposes.   This implements a simple implementation of
such a system, as a skeleton to build more sophistication upon.

Each client now looks for a 'stats_gatherer.furl' config file.  If it has
been configured to use a stats gatherer, then it instantiates internally
a StatsProvider.  This is a central place for code which wishes to offer
stats up for monitoring to report them to, either by calling 
stats_provider.count('stat.name', value) to increment a counter, or by
registering a class as a stats producer with sp.register_producer(obj).

The StatsProvider connects to the StatsGatherer server and provides its
provider upon startup.  The StatsGatherer is then responsible for polling
the attached providers periodically to retrieve the data provided.
The provider queries each registered producer when the gatherer queries
the provider.  Both the internal 'counters' and the queried 'stats' are
then reported to the gatherer.

This provides a simple gatherer app, (c.f. make stats-gatherer-run)
which prints its furl and listens for incoming connections.  Once a
minute, the gatherer polls all connected providers, and writes the
retrieved data into a pickle file.

Also included is a munin plugin which knows how to read the gatherer's
stats.pickle and output data munin can interpret.  this plugin, 
tahoe-stats.py can be symlinked as multiple different names within
munin's 'plugins' directory, and inspects argv to determine which
data to display, doing a lookup in a table within that file.
It looks in the environment for 'statsfile' to determine the path to
the gatherer's stats.pickle.  An example plugins-conf.d file is
provided.
2008-01-30 20:11:07 -07:00
Brian Warner
22071c00e0 upload: oops, fix breakage after removing upload_file/upload_data/etc 2008-01-30 19:41:43 -07:00
Brian Warner
909d848071 remove upload.upload_(data,filename,filehandle) convenience functions 2008-01-30 19:03:19 -07:00
Brian Warner
44ff4c6605 upload: Data should use convergence by default 2008-01-30 19:02:56 -07:00
Brian Warner
81eeafc574 upload-helper: avoid duplicate uploads: check the grid to see if the file already exists 2008-01-30 18:49:02 -07:00
Brian Warner
a1b155725f log.py: update log.err() to take advantage of current foolscap's log.err 2008-01-30 18:47:23 -07:00
Brian Warner
412f2ceda5 install-details.html: debian 3.1 is better known as 'sarge' 2008-01-30 17:03:42 -07:00
robk-tahoe
7906d6d986 confwiz: update to record install and uninstall events. 2008-01-30 16:52:07 -07:00
Zooko O'Whielacronx
ca971559e6 make content-hash-key encryption a parameter of uploading
fixes #293
2008-01-30 12:24:50 -07:00
Zooko O'Whielacronx
991cbe4804 docs: add note that Debian 3.1 seems to have the same problem as Ubuntu Dapper with regard to Nevow and Twisted version compatibility 2008-01-30 12:21:17 -07:00
Zooko O'Whielacronx
424d338c82 tests: add a test that nevow can find its default css file 2008-01-30 11:41:58 -07:00
Brian Warner
8e1439d12d Makefile: touch .built on every build, so other targets can depend upon .built and avoid redundant rebuilds 2008-01-30 01:32:57 -07:00
Brian Warner
492cb92dc8 speedcheck: track SSK creation time separately 2008-01-29 20:44:32 -07:00
Brian Warner
f4c0167552 docs/dirnodes.txt: rewrite to reflect 0.7.0's RSA-based SDMF dirnodes 2008-01-29 19:13:58 -07:00
Brian Warner
583cc34d2f webish: remove 'URI-link' from directory page, now that we only use URI-links 2008-01-29 18:11:09 -07:00
Brian Warner
d9d0920177 webish: link to directory URIs rather than a child path. Addresses #103. 2008-01-29 18:04:32 -07:00
Brian Warner
c2c922b5e9 upload: add log message when AssistedUploader is done 2008-01-29 17:38:12 -07:00
Brian Warner
7e4ca29e33 _auto_deps.py: update comment 2008-01-29 13:53:21 -07:00
Brian Warner
346f1f5c8b _auto_deps: tolerate DistributionNotFound (but not VersionConflict), to accomodate distributions (i.e. gutsy) which provide our dependencies but don't include .egg-info files 2008-01-29 13:52:37 -07:00
Brian Warner
c6c5a37d3f upload: fix 'skipping_ahead' log message 2008-01-28 19:13:36 -07:00
Brian Warner
e14dcb92e2 offloaded: when uploading a file that failed to upload before, ask for the last byte of ciphertext, so the reader is prepared to give us the plaintext hashes 2008-01-28 19:05:43 -07:00
Brian Warner
8063aa8b86 WriteBucketProxy: improve __repr__ 2008-01-28 18:53:51 -07:00
Brian Warner
aa3b509323 upload.py: the 'skipping encryption' message was emitted exactly backwards 2008-01-28 18:38:38 -07:00
robk-tahoe
b41749efa0 confwiz: revise layout
fix the make-confwiz-match-installer-size changes, to eliminate some weird
layout/rendering bugs.  also tweaked the layout slightly to add space between
the warning label and the newsletter subscribe checkbox.
2008-01-28 14:36:03 -07:00
robk-tahoe
6832fa52c0 tweak config wizard window size
adjust the confiwiz frames to display at a size comparable to the innosetup
installer window
2008-01-28 14:07:13 -07:00
Brian Warner
4c5518faef webish: upload+localdir=missing should give an error 2008-01-28 14:48:06 -07:00
Brian Warner
3b41c939f8 webish: oops, unit tests don't have an Uploader, don't rely upon it for helper-status display 2008-01-28 14:03:29 -07:00
Brian Warner
8485ff53fc display the Helper FURL and our connection status on the welcome page. Closes #285. 2008-01-28 13:56:22 -07:00
Brian Warner
69a0b5cc00 CHK upload helper: don't let one failed upload prevent us from trying again 2008-01-28 12:58:13 -07:00
Brian Warner
96d5455a53 macapp.py: cosmetic, remove trailing whitespace 2008-01-28 12:46:54 -07:00
Brian Warner
504bbe4a16 encode.py: update logging levels 2008-01-28 12:15:27 -07:00
Brian Warner
8f1212edac encode.py: don't allow a shareholder which dies in start() to kill the whole upload 2008-01-28 12:14:48 -07:00
Brian Warner
a36ed9b5b7 encode.py: don't record BAD log event unless there is actually a problem 2008-01-28 11:59:10 -07:00
robk-tahoe
0207dc85b9 confwiz: use get_config call to backend
this will write an arbitrary number of config files, instead of being restricted
to just the introducer.furl, based on the response of the php backend.  
the get_config is passed username/password
2008-01-25 19:01:32 -07:00
Zooko O'Whielacronx
f200090b45 docs: edit "grid of storage servers" section with Amber 2008-01-28 11:48:21 -07:00
Zooko O'Whielacronx
5bc69329fc docs: edit architecture.txt with Amber's help 2008-01-28 11:33:46 -07:00
Brian Warner
07a45cd232 Makefile: split mac 'make .dmg' and 'upload' into separate steps 2008-01-25 16:29:13 -07:00
Brian Warner
09a99ce822 offloaded upload: avoid tail-recursion problem that would break large files 2008-01-24 21:51:34 -07:00
Brian Warner
081d27a65d encode.py: improve error message when segment lengths come out wrong 2008-01-24 21:51:09 -07:00
Brian Warner
46fe024612 offloaded uploader: don't use a huge amount of memory when skipping over previously-uploaded data 2008-01-24 17:25:33 -07:00
robk-tahoe
525bfeca25 better mac .app icon 2008-01-24 20:23:47 -07:00
robk-tahoe
2f2de9df2e Reworked mac gui to not lock up upon launch
Previously, once the node itself was launched, the UI event loop was no longer
running.  This meant that the app would sit around seemingly 'wedged' and being
reported as 'Not Responding' by the os.

This chnages that by actually implementing a wxPython gui which is left running
while the reactor, and the node within it, is launched in another thread.
Beyond 'quit' -> reactor.stop, there are no interactions between the threads.

The ui provides 'open web root' and 'open account page' actions, both in the
file menu, and in the (right click) dock icon menu.


Something weird in the handling of wxpython's per-frame menubar stuff seems to
mean that the menu bar only displays the file menu and about etc (i.e. the items
from the wx menubar) if the focus changes from and back to the app while the 
frame the menubar belongs to is displayed.  Hence a splash frame comes up at
startup to provide an opportunity.

It also seems that, in the case that the file menu is not available, that one
can induce it to reappear by choosing 'about' from the dock menu, and then 
closing the about window.
2008-01-24 20:00:28 -07:00
robk-tahoe
5085c35002 cleanup mac and windows build code
this moves some of the code common to both windows and mac builds into the
allmydata module hierarchy, and cleans up the windows and mac build directories
to import the code from there.
2008-01-23 21:06:41 -07:00
nejucomo
de022b2115 tahoe_fuse: cmdline args & system test: Allow nonstandard client basedirs to be specified and update the system tests to use this feature...
The commandline option handling of the version of python-fuse I use is arcane.  This is an ugly hack.
2008-01-20 20:56:27 -07:00
nejucomo
57da456dc9 tahoe_fuse: rename decorators for clarity. 2008-01-20 20:26:57 -07:00
nejucomo
c621fe1aa6 Small log output change. 2008-01-20 20:18:53 -07:00
nejucomo
ba4458d502 tahoe_fuse: system test: webapi connection: bug fix and small log output change. 2008-01-20 20:10:31 -07:00