13.3 — Performance & Pipeline Analysis
13.19 View Analyzer
View Analyzer examines a view and the entities it consumes.
It can help identify:
- expensive dependencies;
- local tables;
- remote sources;
- persistence candidates;
- memory implications;
- model complexity.
Current SAP documentation also describes Explain Plan and SQL Analyzer plan-file options.
Use View Analyzer when the question is:
Which part of this model is responsible for the runtime or memory behavior?
13.20 Explain Plan versus View Analyzer
Use the tools for different questions.
| Tool | Best question |
|---|---|
| Runtime Metrics | How is this view behaving now? |
| Explain Plan | What is the execution structure? |
| View Analyzer | Which model components contribute to the workload? |
| SQL Analyzer plan file | How can the execution be analyzed in greater detail? |
| Data Pipeline Analyzer | Where in the data pipeline is a transfer problem? |
| Remote Queries | What is happening across federation boundaries? |
Do not use every tool for every incident.
13.21 Data Pipeline Analyzer
Current SAP documentation describes Data Pipeline Analyzer as a tool for viewing and analyzing errors, warnings, or data discrepancies for a selected object.
It is especially valuable when the question is:
Where in the upstream pipeline did the problem begin?
Conceptual flow:
Analytic Model | v View | v Local Table | v Flow | v Remote Source
The analyzer helps navigate this dependency chain and identify the problematic point.
13.22 Data Pipeline Analyzer troubleshooting pattern
For a wrong or missing dataset:
- Start at the affected consumption object.
- Open the pipeline analysis.
- Follow upstream dependencies.
- Find the first object with an error or discrepancy.
- Inspect its runtime details.
- Compare expected and actual data.
- Correct the causal object.
- Re-run the minimum necessary scope.
- Validate downstream results.
This is usually faster than opening objects randomly.
13.23 Remote query monitoring
Current SAP documentation provides a Remote Queries monitor for queries sent through the federation layer to connected remote source systems.
Use it when:
- a federated query is unexpectedly slow;
- source latency is suspected;
- remote execution is high;
- the source is overloaded;
- pushdown behavior needs investigation.
A federated query is a distributed execution problem.
13.24 Federation troubleshooting
Use this path:
Consumer | v Semantic model | v Graphical/SQL view | v Remote table | v Federation layer | v Source system
Measure each boundary.
Possible root causes:
- source database performance;
- network latency;
- unsupported pushdown;
- large transferred result;
- missing source statistics;
- high concurrency;
- remote authorization;
- source maintenance.
13.25 Data Provisioning Agent monitoring
For landscapes using a Data Provisioning Agent, current SAP documentation provides monitoring of agent resource information and connection usage.
Relevant signals include:
- free physical memory;
- used physical memory;
- swap memory;
- last connection time;
- number of connections;
- active real-time replication usage.
An agent issue can look like a Datasphere replication issue even when the Datasphere model itself is healthy.
13.26 Data Provisioning Agent logs
Agent logs can be reviewed and filtered by:
- search text;
- time;
- message type;
- log file.
Use the agent log when the failure boundary is:
Datasphere | v Data Provisioning Agent | v On-premise source
Do not diagnose the on-premise connector only from the Datasphere task message.
13.27 Expensive statements
Expensive statement monitoring is useful when SQL execution is consuming significant resources.
Investigate:
- statement duration;
- frequency;
- resource usage;
- affected object;
- user or workload context;
- recent model changes.
An expensive statement is a symptom to correlate with model design and workload behavior.
13.28 Memory incidents
A memory incident should be investigated systematically.
Memory pressure | +--> Which task? +--> Which view? +--> Which source? +--> How many rows? +--> How many columns? +--> Which join? +--> Which aggregation? +--> What persistence mode? +--> What concurrency? +--> What changed?
Possible remedies:
- reduce input volume;
- project fewer columns;
- filter earlier;
- correct join cardinality;
- aggregate earlier where valid;
- partition suitable tables;
- persist an appropriate layer;
- change execution strategy;
- stagger workloads.
13.29 Performance regression
A regression is:
Old baseline = 40 seconds New runtime = 4 minutes
Do not immediately blame infrastructure.
Check:
- model change;
- data-volume change;
- source latency;
- cardinality change;
- statistics;
- persistence state;
- partition distribution;
- concurrency;
- schedule overlap.
The regression may be caused by data growth rather than code change.