## 4 Results of the Software-Prototyping
### From Logging to Structured Logging
The aggregation (mean, median, percentile, standard deviations, sum, count, and more) can be done much more conveniently in the analytical database. The instrumentation should focus on recording metrics data in a point-on-time style. According to our developer experience, developers are happy to be authorized to log only such simple metrics, especially when there is not much background knowledge in statistics. ### Threats of Validity and to Be Considered Limitations of the Study Design

Action research is prone to drawing incorrect or non-generalizable conclusions. Logically, the significance is consistently the highest within the considered use cases. In order to minimize such kind of risks, the reader should consider the following threats on validity (see [26; 27]):

* Construct validity refers to the question, whether the employed measures appropriately reflect the constructs they represent. * Internal validity refers to the question of whether observed relationships are due to a cause-effect relationship. Thus, it is only relevant for case studies in which a cause-effect is to be determined [28], which is not the case for the presented software prototype study. * External validity refers to the question of whether the findings of the case study can be generalized. * Reliability or experimental validity refers to the question of whether the study can be repeated with the same results. Therefore, considerations on construct and external validity are reported as well as considerations on repeatability. #### 6.2.1 Considerations on Construct Validity

In order to draw generalizable conclusions, this study defined use cases in such a way that intentionally different classes of telemetry data (logs, metrics, traces) were considered. It should be noted that the study design primarily considered logs and metrics but traces only marginally. Traces were not wholly neglected, however, but were analyzed less intensively. However, the study design deliberately covered logs, traces, and metrics to see if they could be recorded using a consistent instrumentation approach. This instrumentation approach was designed to generate a structured time-series dataset that can be consolidated and analyzed using existing observability tool stacks. The study evaluated the resulted software prototype in four use cases to determine its suitability for capturing qualitative events, quantitative metrics, and traces in distributed systems. The evaluation also performed long-term recordings of high-volume event streams in the sense of stress tests. Although this setting was constructed to cover a broad range of web-service and web-application domains, outside the scope of this setting, the study outcomes should not be taken to draw any conclusions. For instance, the reader should not make any assumptions on the applicability in hard real-time scenarios where microsecond latencies often have to be considered. #### 6.2.2 Considerations on External Validity

This study did the proof of concept by creating a software prototype for the Python 3 programming language on the instrumentation side and using the ELK stack on the analysis side. Nevertheless, further efforts are needed for transferring the results to other programming languages and observability stacks. Since both basic principles (structured logging and time-series databases and analyses) can be assumed to be known and mastered, the reader can expect no significant difficulties of a technical nature here. The long-term acquisition was performed with a high-volume use case to cover certain stress test aspects. However, the reader must be aware that the screening phase generatedsignificantly higher data volumes in Use Case 4 than the evaluation phase. Therefore, to use stress test data from this study, one should look at the event volume of the screening phase of Use Case 4. Here, about ten thousand events per minute were logged for more than a week giving an impression of the performance of the proposed approach.