29 May 2019 09:46 AM - last edited on 11 Apr 2023 11:21 AM by Karolina_Linda
Hi,
At the moment the request attributes seem to be cut at a length of 250. In AppMon we captured 3000 characters for some agents.
Further is there a full representation of the captured value where i can copy it from. At the moment I have to find the tooltip containing the full text in the html source and copy it from there.
thanks,
Gerald
Solved! Go to Solution.
29 May 2019 09:56 AM
As for the copying the value from the UI - it is possible to select the whole string (also beyond the three dots) and do the copy. Works for me (in Chrome browser at least). I agree, this is something that should be improved.
29 May 2019 10:00 AM
It seems double-click will just select the visible part, you have to select a part from the first character and use shift+end to select the whole request attribute value. Then you can press CTRL+C to copy the value.
29 May 2019 10:02 AM
Hi @Julius L.
Thank you for the quick answer.
Do you know if there is already a RFE for the capture length?
Ah ok you are right it actually copies the whole string, I didn't try it because I though it will expand or something 😉
Regards,
Gerald
29 May 2019 10:07 AM
Sorry, I don't know. But I don't think they will extend it beyond 250 characters for storage reasons.
Can you elaborate on the use case? Are really more than 250 characters required? You can set multiple attributes and capture just the parts you need.
29 May 2019 10:11 AM
Well we have proprietary protocol for sending requests from our java applications to our mainframe applications (something like json). In AppMon it was one of our main usecases for developers to examine those requests for reproducing issues.
29 May 2019 10:40 AM
Did you tried using REGEX in attribute to extract value from this json? In such case you should be able to store multiple values, shorter then whole JSON.
Sebastian
29 May 2019 11:05 AM
it would work for the most important parts of the message like status codes etc. but still the developers would loose the ability to directly reproduce the service call
29 May 2019 11:26 AM
I understand, so unfortunately there is no option for this. Only Idea I have is to modify app to store such transactions via log files. Then you can add this log to dynatrace for monitoring and correlate some id between logs and transactions to get value. It's not as useful but it's always something.
Sebastian
29 May 2019 10:27 PM
What about using a RegEx to capture characters (1..250) into one parameter, then another to capture characters (251..500), etc, etc, until you've captured the whole 3k. Then at least the developers would have the ability to reconstruct the whole request.
note: This is not a performant solution and the value of the data should be considered against the cost of handling many long strings.
12 May 2023 10:24 AM
Hi Joe,
Can you help for RegEx ?
Regards,
Jalpesh
14 May 2023 07:32 PM
@jalpeshs you can use regex such as skip (n*250 characters) and capture next 1 to 250 characters:
^(.{1,250})
^.{250}(.{1,250})
^.{500}(.{1,250})
^.{750}(.{1,250})
...
23 May 2023 11:02 AM
This Regex works with small set of data like 1-25 , 26-50 .When I apply for 1-250 it works similar I apply for 251-500 it won't work
23 May 2023 11:34 AM
@jalpeshs it depends on the data source afaik. For example, with HTTP request header source it works flawlessly. For Java method arguments I was not lucky and seems data is trimmed anyway.