def init(self, url, timeout=1, max_retries=5, emit_format='csv'):
     IEmitter.init(self,
                   url,
                   timeout=timeout,
                   max_retries=max_retries,
                   emit_format=emit_format)
     if emit_format != 'csv':
         raise EmitterUnsupportedFormat('Not supported: %s' % emit_format)
예제 #2
0
    def init(self, url, timeout=1, max_retries=5, emit_format='graphite'):
        self.url = url
        self.timeout = timeout
        self.max_retries = max_retries
        self.emit_per_line = True

        if emit_format != 'graphite':
            raise EmitterUnsupportedFormat('Not supported: %s' % emit_format)

        self.formatter = write_in_graphite_format
        self.mtgraphite_client = MTGraphiteClient(self.url)
    def init(self, url, timeout=1, max_retries=5, emit_format='csv'):
        self.url = url
        self.timeout = timeout
        self.max_retries = max_retries
        self.emit_per_line = False

        self.supported_formats = {
            'csv': write_in_csv_format,
            'graphite': write_in_graphite_format,
            'json': write_in_json_format,
            'logstash': write_in_logstash_format
        }

        if emit_format in self.supported_formats:
            self.formatter = self.supported_formats[emit_format]
        else:
            raise EmitterUnsupportedFormat('Not supported: %s' % emit_format)
예제 #4
0
    def init(self, url, timeout=1, max_retries=5, emit_format='fluentd'):
        self.url = url
        self.timeout = timeout
        self.max_retries = max_retries
        self.emit_per_line = True

        if emit_format != 'json':
            raise EmitterUnsupportedFormat('Not supported: %s' % emit_format)

        try:
            # assumption URL fot fluentd engine is of form fuentd://IP:PORT
            host, port = url[len('fluentd://'):].split(':')
        except (KeyError, TypeError) as exc:
            logger.warn('Can not parse the url provided.')
            raise exc

        self.fluentd_sender = None

        call_with_retries(self.connect_to_fluentd_engine,
                          max_retries=self.max_retries,
                          _args=tuple((host, int(port))))