Determining insights related to performance bottlenecks in a multi-tenant database system preliminary class

US12038816B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12038816-B2
Application numberUS-202217934932-A
CountryUS
Kind codeB2
Filing dateSep 23, 2022
Priority dateSep 24, 2021
Publication dateJul 16, 2024
Grant dateJul 16, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems, apparatuses, and computer program products are described. A system, such as a multi-tenant database system, may store tenant-specific observability data for multiple tenants of the system. The system may detect an inefficiency related to a performance metric for a tenant of the multiple tenants based on a subset of the data associated with the tenant and corresponding to a threshold time window. In some examples, the system may analyze the subset of the data for the threshold time window to determine an insight indicating a cause of the inefficiency. The system may determine a suggested action for the tenant based on the insight indicating the cause of the inefficiency, and the system may send, for display at a user interface of a user device, an indication of the insight and the suggested action, the user device operated by a user associated with the tenant.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for determining insights related to performance at a multi-tenant database system, comprising: storing tenant-specific observability data for a plurality of tenants of the multi-tenant database system; detecting an inefficiency corresponding to a performance metric for a tenant of the plurality of tenants based at least in part on a subset of the tenant-specific observability data associated with the tenant and corresponding to a threshold time window; analyzing the subset of the tenant-specific observability data for the threshold time window to determine an insight indicating a cause of the inefficiency; determining a suggested action for the tenant based at least in part on the insight indicating the cause of the inefficiency; sending, for display at a user interface of a user device, an indication of the insight and the suggested action, the user device operated by a user associated with the tenant; and performing the suggested action, wherein performing the suggested action comprises at least one of: disabling an integration, an application, an extension, or a combination thereof for the tenant, modifying a bulk data load procedure for the tenant, modifying one or more operators in code associated with the tenant, rolling back an update to the code associated with the tenant, updating a database schema for the tenant at the multi-tenant database system, or updating a batch size for a batch processing job for the tenant. 2. The method of claim 1 , further comprising: receiving, via the user interface of the user device, a user input indicating a selection of the suggested action, wherein the suggested action is performed for the tenant in response to the user input. 3. The method of claim 1 , wherein performing the suggested action comprises: automatically performing the suggested action for the tenant based at least in part on determining the suggested action. 4. The method of claim 1 , further comprising: receiving, via the user interface of the user device, a user input indicating the threshold time window for detection, wherein the subset of the tenant-specific observability data is based at least in part on the user input indicating the threshold time window. 5. The method of claim 1 , further comprising: storing, with the tenant-specific observability data, a plurality of identifiers, wherein a data point of the tenant-specific observability data is associated with an identifier of the plurality of identifiers indicating a respective tenant of the plurality of tenants, and the tenant-specific observability data corresponds to a plurality of layers of the multi-tenant database system; and determining the subset of the tenant-specific observability data based at least in part on the plurality of identifiers, wherein each data point of the subset of the tenant-specific observability data is associated with a first identifier indicating the tenant of the plurality of tenants. 6. The method of claim 1 , further comprising: receiving, via the user interface of the user device, a user input defining the code for the tenant; and tagging the code with an indication of the tenant, wherein analyzing the subset of the tenant-specific observability data for the threshold time window further comprises analyzing the code tagged with the indication of the tenant. 7. The method of claim 1 , wherein the tenant-specific observability data comprises a set of data logs for the tenant, a set of data transactions for the tenant, a set of user requests performed by users of the tenant, a set of distributed traces for the tenant, profiling data for the tenant, a first set of performance metrics associated with bulk data loading for the tenant, a second set of performance metrics associated with bulk data transfer for the tenant, or a combination thereof. 8. The method of claim 1 , wherein the inefficiency corresponding to the performance metric comprises a processing time exceeding a threshold processing time, a quantity of processing resources exceeding a threshold quantity of processing resources, a quantity of memory resources exceeding a threshold quantity of memory resources, a quantity of errors exceeding a threshold quantity of errors, or a combination thereof. 9. The method of claim 1 , wherein the insight indicating the cause of the inefficiency indicates that a query is executed at a first frequency greater than a first threshold frequency, the query consumes a quantity of resources greater than a threshold quantity of resources, the query makes a quantity of calls to the multi-tenant database system exceeding a threshold quantity of calls, a page is loaded at a second frequency greater than a second threshold frequency, first code related to a custom component for the tenant comprises one or more first inefficient portions, second code related to a process flow for the tenant comprises one or more second inefficient portions, one or more variable values used for a portion of the code cause the inefficiency, one or more detected anomalies cause the inefficiency, or a combination thereof. 10. The method of claim 1 , further comprising: aggregating a plurality of insights corresponding to at least two tenants of the plurality of tenants; and updating the multi-tenant database system for the plurality of tenants based at least in part on the aggregated plurality of insights. 11. An apparatus for determining insights related to performance at a multi-tenant database system, comprising: a processor; memory coupled with the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to: store tenant-specific observability data for a plurality of tenants of the multi-tenant database system; detect an inefficiency corresponding to a performance metric for a tenant of the plurality of tenants based at least in part on a subset of the tenant-specific observability data associated with the tenant and corresponding to a threshold time window; analyze the subset of the tenant-specific observability data for the threshold time window to determine an insight indicating a cause of the inefficiency; determine a suggested action for the tenant based at least in part on the insight indicating the cause of the inefficiency; send, for display at a user interface of a user device, an indication of the insight and the suggested action, the user device operated by a user associated with the tenant; and perform the suggested action, wherein, to perform the suggested action, the instructions are executable by the processor to cause the apparatus to: disable an integration, an application, an extension, or a combination thereof for the tenant, modify a bulk data load procedure for the tenant, modify one or more operators in code associated with the tenant, roll back an update to the code associated with the tenant, update a database schema for the tenant at the multi-tenant database system, or update a batch size for a batch processing job for the tenant. 12. The apparatus of claim 11 , wherein the instructions are further executable by the processor to cause the apparatus to: receive, via the user interface of the user device, a user input indicating a selection of the suggested action, wherein, to perform the suggested action, the instructions are executable by the processor to cause the apparatus to: perform the suggested action for the tenant in response to the user input. 13. The apparatus of claim 11 , wherein, to perform the suggested action, the instructions are executable by the processor to cause the apparatus to: automatically perform the suggest

Assignees

Inventors

Classifications

  • Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36) · CPC title

  • by exceeding limits · CPC title

  • Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title

  • in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems · CPC title

  • Readable error formats, e.g. cross-platform generic formats, human understandable formats · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12038816B2 cover?
Methods, systems, apparatuses, and computer program products are described. A system, such as a multi-tenant database system, may store tenant-specific observability data for multiple tenants of the system. The system may detect an inefficiency related to a performance metric for a tenant of the multiple tenants based on a subset of the data associated with the tenant and corresponding to a thr…
Who is the assignee on this patent?
Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3419. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 16 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).