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!

Automatic Discovery Part 1: What is Automatic Discovery in Splunk Observability Cloud ...

If you’ve ever deployed a new database cluster, spun up a caching layer, or added a load balancer, you know it ...

Real-Time Fraud Detection: How Splunk Dashboards Protect Financial Institutions

Financial fraud isn't slowing down. If anything, it's getting more sophisticated. Account takeovers, credit ...

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 ...