Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: support log event stream processing and format improvement #219

Merged
merged 221 commits into from
Feb 6, 2018

Conversation

haf
Copy link
Member

@haf haf commented Dec 13, 2016

  • remove pollServices in registry

    Because supervisor will supervise minions, if an exception occurs, it will be handled according to policy. So there's no need for state polling, because we can't do much if we can get the status. the user's handle logic can be expressed by policy.

  • remove healthcheck & metric

    The aim here is to normalise the Gauge/Derived/Message semantics into a single semantic of 'things computed from events from your app'.

    • remove healthcheck

      Looks like metric can also be seen as a healthcheck, such as windows performance counters. when outside tick , metric generate some msg, which will be processed by user defined engine , they can decide their meaning (log or metric or healthcheck...) there.

    • remove metric

      metric can be implemented by engine's process expression builder, what we need to do is schedule jobs for tick, in the corresponding time(like old metricConf.tickInterval) or manually tick. Metric's data sources can have two types, one is similar to WPC, generate data in real-time when ticked .the other is generate through the normal log message.

  • support multi targets on internallogger and apply rules when send msg to target

  • redefined Message

    The aim here is to normalise the Gauge/Derived/Message semantics into a single semantic of 'things computed from events from your app'.

    • remove FieldModule.fs
    • use FsMessageTemplate for default MessageWriter
    • remove Chiron json support for message type
    • no need SuppressPointValue
    • use obj instead of Value Modle
    • gauges are stored in contexts with gauge type. so message.value is template or raw message.
  • errors (exceptions)

    is expressed by a context, not a field. user can define their own output template for decision whether or not to show them.

  • formatting

    contexts other than fields in template will destructure with @ in default message writer

  • todo

    • more unit test

      • message
      • ewma & percentile
      • formatting
        • migrate old formatting tests
        • consider msg with gauges
        • consider msg with gauges, fields, contexts
      • migrate old core targets tests
      • registry
    • migrate whole solution help wanted

      • facade
      • targets
      • SuaveReporter
      • Targets.InfluxDb
      • examples with new style
    • event format improvement mentioned by event format proposal #257

    • reorganize types in Events.fs

    • Support building for .Net Core and .Net FW

    • to be discussed

      • do we need both logWithAck and log api in Logger type,beacuse log is just delegate call on logWithAck and ignore its result (promise)
      • registry/logmanager IDisposable ?
      • csharp factory support processing
      • new healthcheck/metric style

@haf haf force-pushed the feature/live-wpc-reconfigure branch from d6e4f41 to 137b7b1 Compare December 18, 2016 16:29
@haf haf force-pushed the feature/live-wpc-reconfigure branch from 137b7b1 to d29a5c8 Compare December 18, 2016 16:29
@haf haf changed the title [winperfcounters] adding DVar [winperfcounters] retry/reconfig support Dec 19, 2016
@haf
Copy link
Member Author

haf commented Feb 5, 2018

Now, let's see what SuaveReporter can be fidxed with

@haf
Copy link
Member Author

haf commented Feb 5, 2018

Should be fairly stable to build now; yet to run all tests and fix suave reporter and influx, but I did set up a docker compose that runs influxdb locally on docker, so the distance to go there should be pretty small.

@haf haf force-pushed the feature/live-wpc-reconfigure branch from ca6682e to b38d020 Compare February 6, 2018 09:14
@haf
Copy link
Member Author

haf commented Feb 6, 2018

Builds on CI now, failing on tests due to ordering errors of new TypeShape file.

@haf haf merged commit d426484 into master Feb 6, 2018
@lust4life
Copy link
Contributor

@haf nice, glad you come back to push forward. will follow up in later days,a little busy these two days .

@haf haf deleted the feature/live-wpc-reconfigure branch February 7, 2018 20:30
@haf
Copy link
Member Author

haf commented Mar 17, 2018

screen shot 2018-03-17 at 15 31 16

What do you think of this?

We need some mechanism for ignoring certain properties from the JSON input, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants