baseplate.frameworks.thrift

Thrift is a cross-language framework for cross-service communication. Developers write a language-independent definition of a service’s API (the “IDL”) and Thrift’s code generator makes server and client libraries for that API.

This module provides a wrapper for a TProcessor which integrates Baseplate’s facilities into the Thrift request lifecycle.

An abbreviated example of it in use:

logger = logging.getLogger(__name__)


def make_processor(app_config):
    baseplate = Baseplate(app_config)

    handler = MyHandler()
    processor = my_thrift.MyService.Processor(handler)
    return baseplateify_processor(processor, logger, baseplate)
baseplate.frameworks.thrift.baseplateify_processor(processor, logger, baseplate, edge_context_factory=None)[source]

Wrap a Thrift Processor with Baseplate’s span lifecycle.

Parameters
  • processor (TProcessor) – The service’s processor to wrap.

  • logger (Logger) – The logger to use for error and debug logging.

  • baseplate (Baseplate) – The baseplate instance for your application.

  • edge_context_factory (Optional[EdgeContextFactory]) – A configured factory for handling edge request context.

Return type

TProcessor