timeplot 0.1.9 → 0.2.0
raw patch · 2 files changed
+14/−9 lines, 2 filesdep +regex-tdfadep −regex-pcre
Dependencies added: regex-tdfa
Dependencies removed: regex-pcre
Files
- Tools/TimePlot.hs +12/−7
- timeplot.cabal +2/−2
Tools/TimePlot.hs view
@@ -12,8 +12,8 @@ import Data.Char -import Text.Regex.PCRE-import Text.Regex.PCRE.ByteString+import Text.Regex.TDFA+import Text.Regex.TDFA.ByteString import System import System.Exit@@ -140,11 +140,12 @@ outRes = parseRes $ single "output resolution" "-or" "640x480" where parseRes s = case break (=='x') s of (h,_:v) -> (read h,read v)- chartKindF = kindByRegex [((=~regex), parseKind (words kind)) | [regex,kind] <- getArg "-k" 2 args]+ chartKindF = kindByRegex [((matches regex), parseKind (words kind)) | [regex,kind] <- getArg "-k" 2 args] where kindByRegex rks s = case [k | (p,k) <- rks, p s] of k:_ -> k _ -> defaultKind+ matches regex = matchTest (makeRegexOpts defaultCompOpt (ExecOption {captureGroups = False}) regex) fromTime = fst `fmap` (parseTime . B.pack $ single "minimum time (inclusive)" "-fromTime" "") toTime = fst `fmap` (parseTime . B.pack $ single "maximum time (exclusive)" "-toTime" "")@@ -465,7 +466,8 @@ " for example, [%Y-%m-%d %H:%M:%S] parses dates like [2009-10-20 16:52:43]. ", " We also support %OS for fractional seconds (i.e. %OS will parse 12.4039 or 12,4039).", " Default: 'date %Y-%m-%d %H:%M:%OS'",- " -k P K - set diagram kind for tracks matching pattern P to K ",+ " -k P K - set diagram kind for tracks matching regex P (in the format of regex-tdfa, which",+ " is at least POSIX-compliant and supports some GNU extensions) to K ", " (-k clauses are matched till first success)", " -dk - set default diagram kind", " -fromTime - filter records whose time is >= this time (formatted according to -tf)",@@ -481,9 +483,12 @@ "Diagram kinds:", " 'event' is for event diagrams: during events are drawn like --[===]--- , pulse events like --|--", " 'duration XXXX' - plot any kind of diagram over the *durations* of events on a track (delimited by > ... <)",- " for example 'duration quantile 300 0.25,0.5,0.75' will plot these quantiles of durations of the events.",- " This is useful where your log looks like 'Started processing' ... 'Finished processing': you can plot",- " processing durations without computing them yourself.",+ " for example 'duration quantile 300 0.25,0.5,0.75' will plot these quantiles of durations of the events.",+ " This is useful where your log looks like 'Started processing' ... 'Finished processing': you can plot",+ " processing durations without computing them yourself.",+ " 'duration[C] XXXX' - same as 'duration', but of a track's name we only take the part before character C.",+ " For example, if you have processes named 'MACHINE-PID' (i.e. UNIT027-8532) say 'begin something' / ",+ " 'end something' and you're interested in the properties of per-machine durations, use duration[-].", " 'hist N' is for histograms: a histogram is drawn with granularity of N time units, where", " the bin corresponding to [t..t+N) has value 'what was the maximal number of active events", " in that interval'.",
timeplot.cabal view
@@ -1,5 +1,5 @@ Name: timeplot-Version: 0.1.9+Version: 0.2.0 License: BSD3 License-file: LICENSE Copyright: Eugene Kirpichov, 2009@@ -29,6 +29,6 @@ Build-Depends: Chart >= 0.14, cairo, bytestring, bytestring-lexing, strptime >= 0.1.5, time, containers, colour, data-accessor == 0.2.*, data-accessor-template >= 0.2.1.1 && < 0.3, - haskell98, regex-pcre+ haskell98, regex-tdfa Main-Is: Tools/TimePlot.hs Other-Modules: Graphics.Rendering.Chart.Event