Splunk Search

Generating custom command not streaming output


I have created following custom command:

class GenerateTextCommand(GeneratingCommand):

  count = Option(require=True, validate=validators.Integer(0))
  text = Option(require=True)

  def generate(self):
    for i in range(1, self.count + 1):
       yield {'id': i, '_time': time.time(), '_raw': unicode(i) + '. ' + self.text}

dispatch(GenerateTextCommand, sys.argv, sys.stdin, sys.stdout, __name__)

and I have prepared configuration in commands.conf:

filename = testStream.py
chunked = true

My expectation is that if I execute this command in Search command line in Splunk UI:

| teststream count=4 text="asdf"

It will print out each 5 seconds asdf text 4 times. Instead of it it generates 4 events and prints it after 20 seconds. Timestamps shows that generation time is strictly by "my rules" - new message each 5 seconds.

Is my understanding of "output streaming" from custom command incorrect or am I doing something wrong?

Thanks for help


Get Updates on the Splunk Community!

Enterprise Security Content Update (ESCU) | New Releases

In the last month, the Splunk Threat Research Team (STRT) has had 2 releases of new security content via the ...

Announcing the 1st Round Champion’s Tribute Winners of the Great Resilience Quest

We are happy to announce the 20 lucky questers who are selected to be the first round of Champion's Tribute ...

We’ve Got Education Validation!

Are you feeling it? All the career-boosting benefits of up-skilling with Splunk? It’s not just a feeling, it's ...