• Home
  • Dušan Okanović
Dušan Okanović

Dušan Okanović
Datadog

PhD

About

33
Publications
8,428
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
320
Citations
Citations since 2017
15 Research Items
280 Citations
20172018201920202021202220230102030405060
20172018201920202021202220230102030405060
20172018201920202021202220230102030405060
20172018201920202021202220230102030405060
Additional affiliations
September 2019 - present
Novatec Consulting GmbH
Position
  • Consultant
June 2015 - August 2019
Universität Stuttgart
Position
  • PostDoc Position
September 2013 - May 2015
RT-RK Computer Based Systems
Position
  • Developer

Publications

Publications (33)
Conference Paper
Full-text available
In recent years, there has been a shift in software development towards microservice-based architectures, which consist of small services that focus on one particular functionality. Many companies are migrating their applications to such architectures to reap the benefits of microservices, such as increased flexibility, scalability and a smaller gr...
Chapter
Full-text available
Performance analysis is an integral part of developing and optimizing parallel applications for high performance computing (HPC) platforms. Hierarchical data from different sources is typically available to identify performance issues or anomalies. Some hierarchical data such as the calling context can be very large in terms of breadth and depth of...
Conference Paper
State-of-the-art approaches for reporting performance analysis results rely on charts providing insights on the performance of the system, often organized in dashboards. The insights are usually data-driven, i.e., not directly connected to the performance concern leading the users to execute the performance engineering activity, thus limiting the u...
Conference Paper
Full-text available
Performance is of particular relevance to software system design, operation, and evolution. However, the application of performance engineering approaches to solve a given user concern is challenging and requires expert knowledge. In this tutorial paper, we guide the reader step-by-step through the answering of performance concerns following the id...
Article
Full-text available
This is the final report of the collaborative research project diagnoseIT on expert-guided automatic diagnosis of performance problems in enterprise applications.
Conference Paper
The success of modern businesses relies on the quality of their supporting application systems. Continuous application performance management is mandatory to enable efficient problem detection, diagnosis, and resolution during production. In today's age of ubiquitous computing, large fractions of users access application systems from mobile devices...
Working Paper
The concept of service level agreements (SLAs) defines the idea of a reliable contract between service providers and their users. SLAs provide information on the scope, the quality and the responsibilities of a service and its provider. Service level objectives (SLOs) define the detailed, measurable conditions of the SLAs. After service deployment,...
Conference Paper
Full-text available
The performance of application systems has a direct impact on business metrics. For example, companies lose customers and revenue in case of poor performance such as high response times. Application performance management (APM) aims to provide the required processes and tools to have a continuous and up-to-date picture of relevant performance measu...
Conference Paper
As the importance of application performance grows in modern enterprise systems, many organizations employ application performance management (APM) tools to help them deal with potential performance problems during production. In addition to monitoring capabilities, these tools provide problem detection and alerting. In large enterprise systems the...
Article
Full-text available
Complex software systems experience failures at runtime even though a lot of effort is put into the development and operation. Reactive approaches detect these failures after they have occurred and already caused serious consequences. In order to execute proactive actions, the goal of online failure prediction is to detect these failures in advance...
Conference Paper
Full-text available
A challenging problem with today's increasingly large and distributed software systems is their performance behavior. To help developers avoid or detect mistakes that lead to performance problems, many researchers in software performance engineering have come up with classifications of such problems, called antipatterns. To test the approaches for...
Conference Paper
Full-text available
Execution traces capture information on a software system’s runtime behavior, including data on system-internal software control flows, performance, as well as request parameters and values. In research and industrial practice, execution traces serve as an important basis for model-based and measurement-based performance evaluation, e.g., for appli...
Conference Paper
Full-text available
Application performance management (APM) is a necessity to detect and solve performance problems during operation of enterprise applications. While existing tools provide alerting and visualization capabilities when performance requirements are violated during operation, the isolation and diagnosis of the problem's real root cause is the responsibi...
Conference Paper
Full-text available
Failures in software systems during operation are inevitable. They cause system downtime, which needs to be minimized to reduce or avoid unnecessary costs and customer dissatisfaction. Online failure prediction aims at identifying upcoming failures at runtime to enable proactive maintenance actions. Existing online failure prediction approaches foc...
Conference Paper
Full-text available
Over the past decades, various methods, techniques, and tools for modeling and evaluating performance properties of software systems have been proposed covering the entire software life cycle. However, the application of performance engineering approaches to solve a given user concern is still rather challenging and requires expert knowledge and ex...
Conference Paper
Full-text available
This paper shows generation of JavaScript code from code written in agent-oriented domain-specific language ALAS. ALAS is an agent-oriented domain-specific language for writing software agents that are executed within XJAF middleware. Since the agents can be executed on various platforms, they must be converted into a language of the target platfor...
Conference Paper
Full-text available
The agent technology represents one of the most consistent approaches to the development of distributed systems. Multiagent middleware XJAF, developed at the University of Novi Sad, presents a runtime environment that supports the execution of software agents. To solve the problem of interoperability, we propose a domain-specific agent language nam...
Conference Paper
Continuous monitoring tools are designed to perform well under production workload with minimal performance overhead. Standard AOP frameworks are popular choice for development of instrumentation for Java software monitoring tools. Inevitable consequence of using these tools is the occurrence of performance overhead. The code they generate is guara...
Article
Full-text available
Continuous monitoring of software systems under production workload provides valuable data about application runtime behavior and usage. An adaptive monitoring infrastructure allows controlling, for instance, the overhead as well as the granularity and quality of collected data at runtime. Focusing on application-level monitoring, this paper presen...
Article
Full-text available
Constant monitoring and verification of the software are required in order to assure the software meets service levels required by the service consumer are met by the service provider. We propose a new XML schema for defining service level parameters. In documents based on this schema we define parts of application to be monitored, which metric is...
Article
Full-text available
This paper presents one solution for continuous monitoring of JEE application. In order to reduce overhead, Kieker monitoring framework was used. This paper presents the architecture and basic functionality of the Kieker framework and how it can be extended for adaptive monitoring of JEE applications. Collected data was used for analysis of applica...
Conference Paper
Full-text available
Continuous monitoring of software systems under production workload provides valuable data about application runtime behavior and usage. An adaptive monitoring infrastruc-ture allows to control, for instance, the overhead as well as the granularity and quality of collected data at runtime. Focusing on application-level monitoring, this paper presen...
Conference Paper
This paper presents the implementation of a system aimed at keeping track of application versions (mostly Java applications). The system is used to track where each version of an application is installed. Each application version has its own version tag and appropriate files (executables, libraries, resources, etc.). In this paper the installation...
Article
Full-text available
Web-базирани кориснички интерфејс који омогућује ажурирање базе података и корисничко претраживање. Abstract The paper is an overview of the realisation of the project Networked Digital Library of Theses and Dissertations. The project has been financed by the Provincial Secretariat for Science and Technоlogical Development of AP Vojvodina and is be...

Network

Cited By

Projects

Projects (2)
Project
Quality attributes of enterprise software applications such as performance, availability, and reliability have a significant impact on business critical metrics of enterprises such as revenue and total cost of ownership. Application Performance Management (APM) processes and tools are often facilitated and integrated into the application lifecycle to monitor performance-relevant metrics of the enterprise applications (e.g., response time, throughput, or resource utilization). APM is a necessity to detect and solve performance problems early. Experience shows that comprehensive APM is seldom implemented in industry, resulting in an unsatisfying quality of enterprise applications and detection rate of performance problems. There are major reasons for the low adoption rate of APM: the initial setup and maintenance of APM is error-prone and requires a high manual effort and expertise. In order to improve this situation, NovaTec Consulting GmbH and the University of Stuttgart (Reliable Software Systems Group) launched the collaborative research project diagnoseIT on “Expert-guided Automatic Diagnosis of Performance Problems in Enterprise Applications”. Formalized APM expert knowledge is used to systematically detect and diagnose performance problems. Therefore, diagnoseIT uses an APM-tool-independent approach to orchestrate available APM solutions, initially focusing on the open-source tools inspectIT and Kieker. diagnoseIT provides a goal-oriented root cause analysis, offering a starting point for problem resolution. The project results will be published under an open-source license.
Project
Performance is of particular relevance to software system design, operation, and evolution because it has a major impact on key business indicators. Consequently, during the life-cycle of a software system, performance analysts continuously need to provide answers to and act on performance-relevant questions about response times, hardware utilization, bottlenecks, trends, anomalies, etc. Various established methods, techniques, and tools for modeling and evaluating performance properties have been proposed, ranging from model-based prediction and optimization in early design phases, over measurement-based approaches in phases where implementations exist, up to solutions that continuously evaluate and control a system's performance during operation. However, particular challenges which hinder these techniques from being widely applied in practice include that it is hard to choose and to parameterize the various available approaches, as well as to filter and interpret the obtained results. In DECLARE, the University of Stuttgart and the University of Würzburg will jointly address these challenges introducing a Declarative Performance Engineering approach. We envision to reduce the current abstraction gap between the level on which performance-relevant concerns are formulated and the level on which performance evaluations are actually executed. Performance queries and goals are formulated in a declarative modeling language. Performance evaluation methods, techniques, and tools are integrated into the DECLARE platform based on capability models and adapters, and are selected based on corresponding decision algorithms. We will experimentally and empirically evaluate the results using benchmark systems and based on a large-scale industrial application system. We build on our expertise in the area of combining model-based and measurement-based performance evaluation techniques, including preliminary results on Declarative Performance Engineering. DECLARE will be integrated into the second phase of the Priority Programme "Design for Future - Managed Software Evolution" (SPP 1593), including collaborations with other projects inside the SPP and by contributing to the SPP case studies, focusing on CoCoME.