Skip to content

Allow a "record mode" when registering an appliance #140

@slifty

Description

@slifty

Task

Description

It would be very useful to be able to trivially store the stream of data generated by a TV Kitchen appliance / passed to an appliance. This would be particularly useful for debugging implementations, debugging appliances, and writing tests for appliances.

There was some exploration of the idea of creating a recorder appliance to serve this purpose, but after thinking about it I believe that this should be a feature of the countertop. The countertop has much more context than an individual appliance would (appliances would only know about the contents of the payloads they receive; whereas the countertop knows things like kafka stream names, the overall topology, etc)

My initial thinking here is that enabling "recording" should take place as part of addAppliance. It's possible that we would want to provide the convenience of setting a countertop-wide / default recording configuration as well (e.g. configured on new Countertop()) but by starting at the individual appliance level it gives the developer access to more granular configuration options (e.g. they could specify different settings for different appliances / payload types / etc).

Part of this task will be making these decisions, however, and the above is not prescriptive. Ultimately the goal is to make it easy for a developer to generate a log containing the data that goes in / out of a given appliance. The format of that log is also to be determined (should it be valid JSON? just a log file? etc.)

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions