Commit Graph

101 Commits

Author SHA1 Message Date
zab
efc202d2ee more use of the new methods 2012-11-17 19:22:23 +00:00
zab
3cbca7c0ac more use of the computeAverages method 2012-11-17 18:51:28 +00:00
zab
82e4244473 more refactoring 2012-11-17 18:36:55 +00:00
zab
836620c375 javadoc 2012-11-17 18:03:10 +00:00
zab
4824cae36c Properly synchronize the Rate class
Add a new class to store results from rate calculations
	Add a new method to compute average, last and current measurements
	Use the new method in RouterThrottleImpl
2012-11-17 00:04:08 +00:00
zab
a3e3001d49 * Sync fixes to Frequency
* Removal of warnings related to generics in StatManager
2012-11-14 21:53:54 +00:00
zzz
b259a3ac3d * stats.jsp: Sort groups by translated name 2012-10-10 19:11:18 +00:00
zzz
f13956d380 remove unused imports (eclipse) 2012-03-25 21:45:18 +00:00
zzz
3e889d2747 remove unnecessary casts (eclipse) 2012-03-25 20:42:41 +00:00
zzz
07957409cb * Stats:
- Cleanups
    - Remove some locking
    - Change some longs to ints to save space
    - Remove static logs
2012-01-14 17:44:50 +00:00
zzz
a6ce41fac5 * Stats: Add API methods for zero duration, for efficiency 2011-10-15 17:11:40 +00:00
zzz
5030a86311 field cleanup 2011-09-06 12:12:43 +00:00
zzz
948de5462f * Stats: Restore pre-0.8.8 API to not create a new Rate if it does not
exist in RateStat.getRate()
2011-08-28 14:31:39 +00:00
zzz
363a3e57ff cleanups and javadoc fixes 2011-08-21 16:31:46 +00:00
dev
bf8f1508cd Changed the equals method to rely on the protected ConcurrentHashMap.equals(). 2011-07-22 15:51:36 +00:00
dev
661325af5a Removed the last Set.entrySet(), sorry zzz. 2011-07-22 14:19:01 +00:00
dev
23c30a99cb Changed all iterators using entrySet() to values().
Removed debug from main()
Recommented main out.
2011-07-21 13:06:59 +00:00
dev
7c4f088b3e Removed unneeded import. 2011-07-20 13:35:21 +00:00
dev
73f9b72d63 Sort output of RateStat.getPeriods(). 2011-07-20 13:33:38 +00:00
dev
085ca76bcc Added support for adding/removing periods to already existing RateStats. 2011-07-20 13:27:44 +00:00
zzz
688634695d javadoc 2011-07-13 14:20:20 +00:00
zzz
f173e88787 kill a debug log 2011-07-08 17:05:13 +00:00
zzz
43044586d1 * AppContext: Add hasWrapper() method
* Shutdown:
    - Clear more resources in peer manager, netdb, stat manager,
      session key manager, naming service, tunnel dispatcher,
      OCMOSJ (result of testing with jvisualvm)
    - Don't call wrapper on shutdown (starting two threads) if we
      were started with runplain
2011-07-03 13:46:29 +00:00
zzz
730965812b final 2011-06-14 18:08:40 +00:00
zzz
7ab95d0144 javadoc 2011-05-23 19:16:33 +00:00
zzz
40fd4ccd15 Stats:
- Refactor handling of required stats
    - Shorten description of required stats
    - Improve save messages on configstats.jsp
    - Change bw.sendBps and bw.receiveBps stats to bytes, not Kbytes
    - Expires directive for graphs
2011-03-21 18:14:58 +00:00
zzz
14986fbfa1 * Profiles:
- Nicer profile dump
      - More efficient profile lookup for display
      - Fix dumpprofile NPE
      - Change file suffix from .dat to .txt.gz
2011-03-19 17:19:54 +00:00
zzz
f96342d33a backport equals() fix 2011-03-19 16:39:22 +00:00
zzz
7b29481124 updates after review 2011-03-01 13:37:40 +00:00
zzz
087c7b86de findbugs core,client,crypto,data,stat,i2np 2011-01-07 00:15:35 +00:00
zzz
7ee7cbf660 * Stats: Change stat.full default.to false (saves ~ 1MB) 2010-12-26 12:35:54 +00:00
zzz
1e0e24826e concurrent 2010-11-14 15:01:23 +00:00
zzz
3ee85fed30 * Stats: Improve Frequency, enable coalescing; cleanup and javadocs
* stats.jsp: Cleanup, more tagging, hide obscure stuff unless ?f=1
2010-11-06 12:33:53 +00:00
zzz
3bc2e469cc remove unnecessaary initializers from constructors 2010-05-16 18:08:24 +00:00
zzz
2baee7413c * Replace size() <= 0 with isEmpty() everywhere, ditto > 0 -> !isEmpty() 2010-05-05 16:51:54 +00:00
zzz
aac96b15b0 * configstats.jsp: Fix full stats checkbox default 2010-04-12 19:12:04 +00:00
zzz
883b53de0a cleanups, javadoc 2009-12-30 22:38:37 +00:00
zzz
513b93f789 no room for cows 2009-12-19 16:39:06 +00:00
zzz
405b85c4b4 Cleanups after review and prep for release 2009-10-11 22:51:43 +00:00
zzz
475187fcbc * Stats:
- Fix BufferedStatsLog so it works at all
      - Don't instantiate BufferedStatsLog unless stats.logFilters
        property is defined (restart now required to enable logging)
        This eliminates the StatLogWriter thread and a decent
        amount of memory.
      - Move two CLI classes out of the lib
      - Commment out places where getStatLog() isn't checked for null
      - Cleanups
2009-08-18 20:33:15 +00:00
sponge
3fbff71861 2009-08-11 sponge
* Code Janitor time! Many fixes and documenting fixes that should be
      done in the future. for the most part, this is a general code cleanup.
    * On smaller/embedded systems, the "final" keyword cleanups will have
      more of an impact than on larger systems.
    * Document missing hashCode() methods.
    * Unhide more variables to make code easier to read.
2009-08-11 21:58:56 +00:00
zzz
1cba7b8ec1 * Core:
- Catch unzip fd leaks on error
      - Move 2 test classes out of the lib
2009-07-31 17:55:38 +00:00
zzz
508beb2fc7 * Transports: Reduce the number of Rates 2009-07-20 01:58:43 +00:00
zzz
abc23e9a49 * Move almost all uses of StringBuffer to StringBuilder,
for efficiency (thanks Arsene for the suggestion)
2009-07-01 16:00:43 +00:00
zzz
524a25eb2c Big directory rework.
Eliminate all uses of the current working directory, and
set up multiple directories specified by absolute paths for various uses.

Add a WorkingDir class to create a user config directory and
migrate files to it for new installs.
The directory will be $HOME/.i2p on linux and %APPDIR%\I2P on Windows,
or as specified in the system property -Di2p.dir.config=/path/to/i2pdir
All files except for the base install and temp files will be
in the config directory by default.
Temp files will be in a i2p-xxxxx subdirectory of the system temp directory
specified by the system property java.io.tmpdir.

Convert all file opens in the code to be relative to a specific directory,
as specified in the context. Code and applications should never open
files relative to the current working directory (e.g. new File("foo")).
All files should be accessed in the appropriate context directory,
e.g. new File(_context.getAppDir(), "foo").

The router.config file location may be specified as a system property on the
java command line with -Drouter.configLocation=/path/to/router.config
All directories may be specified as properties in the router.config file.

The migration will copy all files from an existing installation,
except i2psnark/, with the system property -Di2p.dir.migrate=true.
Otherwise it will just set up a new directory with a minimal configuration.

The migration will also create a modified wrapper.config and (on linux only)
a modified i2prouter script, and place them in the config directory.

There are no changes to the installer or the default i2prouter, i2prouter.bat,
i2prouter, wrapper.config, runplain.sh, windows service installer/uninstaller,
etc. in this checkin.


    *  Directories. These are all set at instantiation and will not be changed by
    *  subsequent property changes.
    *  All properties, if set, should be absolute paths.
    *
    *  Name	Property 	Method		Files
    *  -----	-------- 	-----		-----
    *  Base	i2p.dir.base	getBaseDir()	lib/, webapps/, docs/, geoip/, licenses/, ...
    *  Temp	i2p.dir.temp	getTempDir()	Temporary files
    *  Config	i2p.dir.config	getConfigDir()	*.config, hosts.txt, addressbook/, ...
    *
    *  (the following all default to the same as Config)
    *
    *  Router	i2p.dir.router	getRouterDir()	netDb/, peerProfiles/, router.*, keyBackup/, ...
    *  Log	i2p.dir.log	getLogDir()	wrapper.log*, logs/
    *  PID	i2p.dir.pid	getPIDDir()	wrapper *.pid files, router.ping
    *  App	i2p.dir.app	getAppDir()	eepsite/, ...
    *
    *  Note that we can't control where the wrapper actually puts its files.

All these will be set appropriately in a Router Context.
In an I2P App Context, all except Temp will be the current working directory.

Lightly tested so far, needs much more testing.
2009-06-04 19:14:40 +00:00
zzz
53cb80636a remove dup comment in persisted profiles 2009-04-02 18:12:38 +00:00
zzz
f3143d8b3d case insensitive sort on stat groups 2009-02-18 20:54:55 +00:00
zzz
ef998349cc require router.memoryUsed stat 2009-01-01 13:58:00 +00:00
zzz
734818f651 * Transport:
- Cleanup max connections code
      - Add i2np.udp.maxConnections
      - Set max connections based on share bandwidth
      - Add haveCapacity() that can be used for connection
        throttling in the router
      - Reject IBGW/OBEP requests when near connection limit
      - Reduce idle timeout when near connection limit
    * Tunnel request handler:
      - Require tunnel.dropLoad* stats
      - Speed up request loop
2008-12-14 14:07:37 +00:00
zzz
c024398b93 Add some javadoc files 2008-11-09 15:54:04 +00:00