Splunk Dev

Am I only allowed to yield results in the generate function?

klim
Path Finder

Is it only possible to yield results in the generate command? If I run the simple command below it only yields the "hello" message in the generate() function even though generate() calls generate2().

import sys, time
from splunklib.searchcommands import \
    dispatch, GeneratingCommand, Configuration, Option, validators

@Configuration()
class GenerateHelloCommand(GeneratingCommand):
    count = Option(require=True, validate=validators.Integer())

    def generate2(self):
        yield {'_time': time.time(), 'event_no': 2, '_raw': "hello 2"}

    def generate(self):
        self.generate2()
        yield {'_time': time.time(), 'event_no': 1, '_raw': "hello"}

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

 

Labels (2)
0 Karma

livehybrid
SplunkTrust
SplunkTrust

I believe that the yield in generate2 is "yielded" to genetate, however this does not do anything with it,

instead, depending what you're trying to achieve, you may be able to do:

import sys, time
from splunklib.searchcommands import \
    dispatch, GeneratingCommand, Configuration, Option, validators

@Configuration()
class GenerateHelloCommand(GeneratingCommand):
    count = Option(require=True, validate=validators.Integer())

    def generate2(self):
        yield {'_time': time.time(), 'event_no': 2, '_raw': "hello 2"}

    def generate(self):
        yield self.generate2()
        yield {'_time': time.time(), 'event_no': 1, '_raw': "hello"}

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

 

0 Karma
Get Updates on the Splunk Community!

Splunk Observability as Code: From Zero to Dashboard

For the details on what Self-Service Observability and Observability as Code is, we have some awesome content ...

[Puzzles] Solve, Learn, Repeat: Character substitutions with Regular Expressions

This challenge was first posted on Slack #puzzles channelFor BORE at .conf23, we had a puzzle question which ...

Shape the Future of Splunk: Join the Product Research Lab!

Join the Splunk Product Research Lab and connect with us in the Slack channel #product-research-lab to get ...