http://ofbiz.116.s1.nabble.com/How-to-get-a-service-call-stack-tp4764646p4764695.html
> Hi Girish,
>
> I already put this into the service wrapper method right before the runSync call (dumpedStack is a static AtomicBoolean):
>
> if (!dumpedStack.getAndSet(true)) {
> log.warn("Stack trace:\n{}", Arrays.stream(Thread.currentThread().getStackTrace()).map(StackTraceElement::toString).collect(Collectors.joining("\\n")));
> }
>
> But that's not really helpful because the information included doesn't contain service names and I don't think async service calls will be respected with that approach.
>
>> Girish Vasmatkar <
[hidden email]> hat am 05.02.2021 11:08 geschrieben:
>>
>>
>> Hi Danny,
>>
>> While this feature isn't available, you can just put a try catch (in the
>> service you think is getting called too much). In the try block, throw an
>> exception and in the catch just do printStackTrace(), you will get to know
>> where that service is getting called from.
>>
>> This is of course an ugly solution but works especially if you're in the
>> development phase. That said, it would be a nice feature to have the
>> DispatchContext have information about current execution context.
>>
>> Best Regards,
>> Girish
>>
>>
>>
>>
>>
>> On Fri, Feb 5, 2021 at 1:08 PM Danny Trunk <
[hidden email]> wrote:
>>
>>> Hi Deepak Dixit,
>>>
>>> the use case is debugging. There's a service getting called a lot and I
>>> can't find the origin while checking all the servicedef/entitydef XMLs. And
>>> I think it's quite useful to have such a feature.
>>>
>>> Kind regards
>>> Danny.
>>>
>>>> Deepak Dixit <
[hidden email]> hat am 04.02.2021 18:19
>>> geschrieben:
>>>>
>>>> Hi Danny Trunk,
>>>>
>>>> Could you please share the use case why you need a service call stack?
>>>>
>>>> If you share the use case it may be possible you will get a better
>>> answer.
>>>> Kind Regards,
>>>> Deepak Dixit
>>>> DIRECTOR OF PRODUCT ENGINEERING
>>>> mobile: +91 9826754548
>>>> email:
[hidden email]
>>>> *www.hotwax.co <
http://www.hotwax.co/>*
>>>>
>>>>
>>>> On Thu, Feb 4, 2021 at 8:40 PM Danny Trunk <
[hidden email]> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> let's imagine Service A is calling Service B directly through
>>>>> dispatcher.runSync and Service C is running as an SECA action of
>>> Service B.
>>>>> The call stack would be: Service A -> Service B -> Service C (through
>>> SECA)
>>>>> Or let's imagine Service D is running as an EECA action of entity
>>> Product.
>>>>> The call stack would be: Product Entity -> Service D (through EECA)
>>>>>
>>>>> Is it possible to get that information somehow?
>>>>> I can't find anything helpful in DispatchContext or GenericDispatcher.
>>>>>
>>>>> Output into a log file would be great.
>>>>>
>>>>> Kind regards
>>>>> Danny.
>>>>>
>>> <pre>ZYRES digital media systems GmbH
>>> Stuttgarter Straße 25 60329 Frankfurt am Main Phone +49 69 98 55 99 - 0
>>> Fax +49 69 98 55 99 - 11
>>>
>>> Firmensitz: Stuttgarter Straße 25 60329 Frankfurt am Main
>>> Registergericht: Amtsgericht Frankfurt am Main, HRB 76374
>>> Geschäftsführer: Sebastian Schirmer
>>>
>>>
http://www.zyres.com/</pre>
>>>
> <pre>ZYRES digital media systems GmbH
> Stuttgarter Straße 25 60329 Frankfurt am Main Phone +49 69 98 55 99 - 0
> Fax +49 69 98 55 99 - 11
>
> Firmensitz: Stuttgarter Straße 25 60329 Frankfurt am Main
> Registergericht: Amtsgericht Frankfurt am Main, HRB 76374
> Geschäftsführer: Sebastian Schirmer
>
>
http://www.zyres.com/</pre>