- 19 Dec, 2012 2 commits
-
-
Iustin Pop authored
Currently, the mon-collector binary is the only multi-command binary we have in Haskell. Not surprisingly therefore, its command line handling is not as robust as we need, not being able to support standard "--help" commands. This patch introduces generic multi-command handling, similar to the Python functionality (some parts missing, will be added in future patches), and switches mon-collector over to it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Iustin Pop authored
Currently, the mon-collector binary uses the HTools/CLI module, which is OK but mean it links in lots of htools code. By copying that module to DataCollectors/CLI and removing the unneeded code, we reduce the number of modules it depends on fro 20 to 12, meaning both a shorter compiler time (24s to 9s) and a smaller binary (~9.6MB to ~7MB). Also fixes a typo in the original HTools/CLI module, thanks Michele! Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
- 12 Dec, 2012 1 commit
-
-
Michele Tartara authored
It is implemented as a single binary receiving, as its first parameter, the name of the actual data collector to be run. This way, its structure can be used for all the future data collectors. Also, factored out of bdev.py into constants.py the location of the DRBD status file. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 12 Nov, 2012 1 commit
-
-
Iustin Pop authored
Some options have defaults that depend on the environment, and we could handle these in two ways: - use a place-holder value (e.g. data X a = Default | Custom a) that is later read from the environment - move the options list to IO monad, where it can read the environment, etc. The second option allows also displaying the actual defaults in the `--help' output, even though it's not as nice, so I went with it. This patch only changes the option types, without actually changing any options yet. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- 07 Nov, 2012 1 commit
-
-
Iustin Pop authored
This small patch fixes compatibility with a few newer Haskell libraries: - base 4.6, included with ghc 7.6, removed the deprecated 'catch' function from Prelude, so our "import Prelude hiding (catch)" is now an error; we workaround by using fully-qualified Control.Exception.catch name - containers 0.5 changed the signature of 'deleteFindMax'; we workaround by using separate 'findMax' and 'deleteMax' - QuickCheck 2.5 removed the 'maxDiscards' test parameter, replacing it with a much better 'maxDiscardsRatio'; however, until we can depend on that, we workaround by just removing it (we don't control anymore the maxDiscards, instead leaving it default; for our default test size, this is no change, as the default value is already 500, which is our default as well) and not printing it anymore Tested on Squeeze (+extra libs), Wheezy and experimental, which covers all supported GHC versions. Also, merging this in master will be a pain, but unless we want to stop supporting 2.6… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- 18 Oct, 2012 1 commit
-
-
Helga Velroyen authored
Furthermore, a few messages have their capitalisation changed (fixed). Signed-off-by:
Helga Velroyen <helgav@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 08 Oct, 2012 2 commits
-
-
Iustin Pop authored
This defines the arguments supported and then modifies the --help-completion output to include them too. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This is, I believe, the last non-htools specific file that still lived in the htools directory; it's already widely used in non-htools code, so let's move it before we add more functionality to this module. All changes are related to the name change, imports fixup, etc.; there are no other changes in this patch. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 26 Sep, 2012 1 commit
-
-
Iustin Pop authored
Currently, we test and require that each individual program (hbal, etc.) defines/supports the generic options (currently --help and --version). Even with the test, this is not optimal, since it requires changes in many places whenever we modify the list of generic options, hence we move these out of the individual programs and into the generic CLI handling code. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
- 26 Mar, 2012 1 commit
-
-
Iustin Pop authored
Currently, we're using Prelude.catch to handle I/O errors in htools. This style of error handling has been deprecated for a while, but it still used to work without warnings. However, the GHC release 7.4 has started to emit deprecation warnings for it, so we change to the Control.Exception module; the code is a bit less clean since we only care about I/O errors (but Control.Exception deals with other error types too), so we have to filter the exceptions. Note that the new style exception handling is not really "new"; it has existed since at least GHC 6.12, which is our oldest supported compiler. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 16 Jan, 2012 2 commits
-
-
Iustin Pop authored
… a mini-module, actually. This is only done for unit-testing, as we don't want to duplicate the personalities list in the tests. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This patch moves the call to getArgs/parseOpts into htools.hs, as opposed to the current situation where htools.hs only calls the main file of each program, which in turn calls these two functions. By doing it only once we remove some duplicate code and we also export each program's options, which allows us to test some common behaviour in the future. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 18 Nov, 2011 1 commit
-
-
Iustin Pop authored
While testing with ghc 7.2, I saw that some imports we are using are very old (from ghc 6.8 time), even though current libraries are using different names. We fix this and bump minimum documented version to ghc 6.12, as I don't have 6.10 to test anymore (possibly still works with that version, but better safe - both Ubuntu Lucid and Debian Squeeze ship with 6.12 nowadays). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 12 Oct, 2011 1 commit
-
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 19 Jul, 2011 5 commits
-
-
Iustin Pop authored
This is the last patch of the binaries conversion. As information, we now have a single binary that is approx. 5.4MiB in size, compared to 4 binaries that were approx. 5.1-5.2MiB in size; this will result in a smaller package and install size, and the single compilation phase should also help. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
In addition, the patch adds a separate Makefile variable for holding the binary roles to make it more clear what we symlink. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This converts the first binary to the generic 'htools' binary. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This is the start of a series of patches that will unify all the binaries currently in use in a single one, which can perform different roles based on the name it is installed as. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-