Table of Contents
                             
                        
                        callstack_callers
                                Table of Contents
                            
                            Prototype: callstack_callers()
Return type: data
Description: Return the call stack for the current promise.
This is a call stack inspection function and the specific content may be tied to a specific CFEngine version. Using it requires writing code that takes the specific CFEngine version into account.
The returned data container is a list of key-value maps.
The maps all have a type key and a frame key with a counter. For different
frames along the stack frame path, the maps have additional keys:
- whenever possible,
 - bodies: under key 
bodythe entry has a full dump of the body policy as JSON, same as whatcf-promises -p jsonwould produce, using the internal C functionBodyToJson(). This may include thelineandsourcePathto locate the exact code line. - bundles: under key 
bundlethe entry has a full dump of the bundle policy as JSON, same as whatcf-promises -p jsonwould produce, using the internal C functionBundleToJson(). This may include thelineandsourcePathto locate the exact code line. - promise iteration: the 
iteration_indexis recorded - promises: the 
promise_type,promiser,promise_classes, andpromise_commentare recorded - promise sections (types): the 
promise_typeis recorded 
Example:
    vars:
      "stack" data => callstack_callers();
Output:
    [ ... call stack information ... ,
      {
        "depth": 2,
        "frame": 9,
        "promise_classes": "any",
        "promise_comment": "",
        "promise_type": "methods",
        "promiser": "",
        "type": "promise"
      }, ... more call stack information ... ]
History: Introduced in CFEngine 3.9
See also: callstack_promisers()
