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 + ThousandEyes: Correlate frontend, app, and network data to troubleshoot ...

 Are you tired of troubleshooting delays caused by siloed frontend, application, and network data? We've got a ...

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI!Discover how Splunk’s agentic AI ...

🔐 Trust at Every Hop: How mTLS in Splunk Enterprise 10.0 Makes Security Simpler

From Idea to Implementation: Why Splunk Built mTLS into Splunk Enterprise 10.0  mTLS wasn’t just a checkbox ...