elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.59k stars 8.21k forks source link

[APM] Code coverage: Endpoints without API tests #152578

Open sorenlouv opened 1 year ago

sorenlouv commented 1 year ago

Most endpoints should be covered by API tests. This issue captures a list of endpoints without API tests (possibly covered by unit or e2e test).

Endpoints without API tests

All APM endpoints

View list (long) - DELETE /api/apm/settings/agent-configuration - DELETE /api/apm/sourcemaps/{id} - DELETE /internal/apm/service-group - DELETE /internal/apm/settings/custom_links/{id} - GET /api/apm/services/{serviceName}/annotation/search - GET /api/apm/settings/agent-configuration - GET /api/apm/settings/agent-configuration/agent_name - GET /api/apm/settings/agent-configuration/environments - GET /api/apm/settings/agent-configuration/view - GET /api/apm/sourcemaps - GET /internal/apm/agent_keys - GET /internal/apm/agent_keys/privileges - GET /internal/apm/correlations/field_candidates/transactions - GET /internal/apm/correlations/field_value_stats/transactions - GET /internal/apm/data_view/title - GET /internal/apm/debug-telemetry - GET /internal/apm/dependencies/charts/distribution - GET /internal/apm/dependencies/charts/error_rate - GET /internal/apm/dependencies/charts/latency - GET /internal/apm/dependencies/charts/throughput - GET /internal/apm/dependencies/metadata - GET /internal/apm/dependencies/operations - GET /internal/apm/dependencies/operations/spans - GET /internal/apm/dependencies/top_dependencies - GET /internal/apm/dependencies/upstream_services - GET /internal/apm/environments - GET /internal/apm/event_metadata/{processorEvent}/{id} - GET /internal/apm/fallback_to_transactions - GET /internal/apm/fleet/agents - GET /internal/apm/fleet/apm_server_schema/unsupported - GET /internal/apm/fleet/has_apm_policies - GET /internal/apm/fleet/java_agent_versions - GET /internal/apm/fleet/migration_check - GET /internal/apm/get_agents_per_service - GET /internal/apm/has_data - GET /internal/apm/mobile-services/{serviceName}/location/stats - GET /internal/apm/mobile-services/{serviceName}/stats - GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests - GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions - GET /internal/apm/observability_overview - GET /internal/apm/observability_overview/has_data - GET /internal/apm/rule_types/error_count/chart_preview - GET /internal/apm/rule_types/transaction_duration/chart_preview - GET /internal/apm/rule_types/transaction_error_rate/chart_preview - GET /internal/apm/service-group - GET /internal/apm/service-group/counts - GET /internal/apm/service-group/services - GET /internal/apm/service-groups - GET /internal/apm/service-map - GET /internal/apm/service-map/dependency - GET /internal/apm/service-map/service/{serviceName} - GET /internal/apm/services - GET /internal/apm/services/{serviceName}/agent - GET /internal/apm/services/{serviceName}/agent_instances - GET /internal/apm/services/{serviceName}/alerts_count - GET /internal/apm/services/{serviceName}/anomaly_charts - GET /internal/apm/services/{serviceName}/dependencies - GET /internal/apm/services/{serviceName}/dependencies/breakdown - GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId} - GET /internal/apm/services/{serviceName}/errors/{groupId}/samples - GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions - GET /internal/apm/services/{serviceName}/errors/distribution - GET /internal/apm/services/{serviceName}/errors/groups/main_statistics - GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name - GET /internal/apm/services/{serviceName}/infrastructure_attributes - GET /internal/apm/services/{serviceName}/metadata/details - GET /internal/apm/services/{serviceName}/metadata/icons - GET /internal/apm/services/{serviceName}/metrics/charts - GET /internal/apm/services/{serviceName}/metrics/nodes - GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances - GET /internal/apm/services/{serviceName}/metrics/serverless/charts - GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview - GET /internal/apm/services/{serviceName}/metrics/serverless/summary - GET /internal/apm/services/{serviceName}/mobile/filters - GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata - GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics - GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName} - GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics - GET /internal/apm/services/{serviceName}/storage_details - GET /internal/apm/services/{serviceName}/throughput - GET /internal/apm/services/{serviceName}/transaction_types - GET /internal/apm/services/{serviceName}/transaction/charts/breakdown - GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate - GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name - GET /internal/apm/services/{serviceName}/transactions/charts/error_rate - GET /internal/apm/services/{serviceName}/transactions/charts/latency - GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics - GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics - GET /internal/apm/services/{serviceName}/transactions/traces/samples - GET /internal/apm/settings/anomaly-detection/environments - GET /internal/apm/settings/anomaly-detection/jobs - GET /internal/apm/settings/apm-index-settings - GET /internal/apm/settings/apm-indices - GET /internal/apm/settings/custom_links - GET /internal/apm/settings/custom_links/transaction - GET /internal/apm/settings/labs - GET /internal/apm/storage_chart - GET /internal/apm/storage_explorer - GET /internal/apm/storage_explorer_summary_stats - GET /internal/apm/storage_explorer/get_services - GET /internal/apm/storage_explorer/is_cross_cluster_searc - GET /internal/apm/storage_explorer/is_cross_cluster_search - GET /internal/apm/storage_explorer/privileges - GET /internal/apm/suggestions - GET /internal/apm/time_range_metadata - GET /internal/apm/traces - GET /internal/apm/traces/{traceId} - GET /internal/apm/traces/{traceId}/root_transaction - GET /internal/apm/traces/{traceId}/span_links/{spanId}/children - GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents - GET /internal/apm/traces/{traceId}/spans/{spanId} - GET /internal/apm/traces/{traceId}/transactions/{transactionId} - GET /internal/apm/traces/find - GET /internal/apm/transactions/{transactionId} - POST /api/apm/agent_keys - POST /api/apm/fleet/apm_server_schema - POST /api/apm/services/{serviceName}/annotation - POST /api/apm/settings/agent-configuration/search - POST /api/apm/sourcemaps - POST /internal/apm/api_key/invalidate - POST /internal/apm/correlations/field_value_pairs/transactions - POST /internal/apm/correlations/p_values/transactions - POST /internal/apm/correlations/significant_correlations/transactions - POST /internal/apm/data_view/static - POST /internal/apm/fleet/cloud_apm_package_policy - POST /internal/apm/latency/overall_distribution/transactions - POST /internal/apm/service-group - POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics - POST /internal/apm/services/detailed_statistics - POST /internal/apm/settings/anomaly-detection/jobs - POST /internal/apm/settings/anomaly-detection/update_to_v3 - POST /internal/apm/settings/apm-indices/save - POST /internal/apm/settings/custom_links - POST /internal/apm/sourcemaps/migrate_fleet_artifacts - POST /internal/apm/traces/aggregated_critical_path - PUT /api/apm/settings/agent-configuration - PUT /internal/apm/settings/custom_links/{id}
elasticmachine commented 1 year ago

Pinging @elastic/apm-ui (Team:APM)

yngrdyn commented 1 year ago

We have a journey ahead to get all the endpoints covered. Thank you Out of curiosity, how did you generate the list of all endpoints?

sorenlouv commented 1 year ago

Out of curiosity, how did you generate the list of all endpoints?

Tedious manual effort 🙈 (mostly regex searching for endpoint: '(GET|PUT|DELETE|POST) /)