tensor

tensor.interfaces

tensor.objects

class tensor.objects.Event(state, service, description, metric, ttl, tags=, []hostname=None)[source]

Bases: object

Tensor Event object

All sources pass these to the queue, which form a proxy object to create protobuf Event objects

Arguments:

State:Some sort of string < 255 chars describing the state
Service:The service name for this event
Description:A description for the event, ie. “My house is on fire!”
Metric:int or float metric for this event

Keyword arguments:

Tags:List of tag strings
Hostname:Hostname for the event (defaults to system fqdn)
class tensor.objects.Output(config, tensor)[source]

Bases: object

Output parent class

Outputs can inherit this object which provides a construct for a working output

Arguments:

Config:Dictionary config for this queue (usually read from the yaml configuration)
Tensor:A TensorService object for interacting with the queue manager
createClient()[source]

Deferred which sets up the output

eventsReceived()[source]

Receives a list of events and processes them

Arguments: events – list of tensor.objects.Event

stop()[source]

Called when the service shuts down

class tensor.objects.Source(config, queueBack, tensor)[source]

Bases: object

Source parent class

Sources can inherit this object which provides a number of utility methods.

Arguments:

Config:Dictionary config for this queue (usually read from the yaml configuration)
QueueBack:A callback method to recieve a list of Event objects
Tensor:A TensorService object for interacting with the queue manager
createEvent(state, description, metric, prefix=None)[source]

Creates an Event object from the Source configuration

startTimer()[source]

Starts the timer for this source

tick(*args, **kwargs)[source]

Called for every timer tick. Calls self.get which can be a deferred and passes that result back to the queueBack method

Returns a deferred

tensor.service

class tensor.service.TensorService(config)[source]

Bases: twisted.application.service.Service

Tensor service

Runs timers, configures sources and and manages the queue

sendEvent(event)[source]

Callback that all event sources call when they have a new event or list of events

setupOutputs(config)[source]

Setup output processors

setupSources(config)[source]

Sets up source objects from the given config

tensor.utils

class tensor.utils.BodyReceiver(finished)[source]

Bases: twisted.internet.protocol.Protocol

Simple buffering consumer for body objects

class tensor.utils.ProcessProtocol(deferred, timeout)[source]

Bases: twisted.internet.protocol.ProcessProtocol

ProcessProtocol which supports timeouts

tensor.utils.fork(executable, args=(), env={}, path=None, timeout=3600)[source]

Provides a deferred wrapper function with a timeout function

Arguments:

Executable:Executable

Keyword arguments:

Args:Tupple of arguments
Env:Environment dictionary
Timeout:Kill the child process if timeout is exceeded