The Lead Time for Changes is a Dora Metric that
aims to measure the speed of code or software deployment, from the
closure of a product release to its arrival in the production
environment. This metric helps to better understand the cycle of
solutions created by your team, ensuring that they are executed as
quickly as possible.

To measure the speed, it’s essential to know when the demand was
identified and the time invested in its execution. In addition to
helping reduce the response time to fix issues in an application, the
Lead Time for Changes facilitates the automation of implementation and
improves the release process. Organizing smaller and more frequent
releases tends to continuously improve quality. A Lead Time occurs when a
merge is performed on the target branch, when this occurs it looks at
all the commits that are in the merge and checks the range of the merge
date with the date of the oldest commit. This is for each merge event
carried out in the target branch. The platform displays the simple
average of the last 30 days (total sum of Lead Times / number of Lead
Time).

To set up the Lead Time for Changes metric in the One Platform, follow these steps:

  1. Access the integrations page, located in the left sidebar menu under the “Integrations” tab.
  2. Choose whether you want to integrate via Github or Bitbucket.
  3. Click on “Install new integration” to initiate the integration process.



After clicking to install the new integration, the window will be
redirected to Bitbucket. You’ll need to log in to your Bitbucket
account, and once you are logged in, choose the workspace where you want
to perform the integration.


Once you click on “Grant access,” you will be redirected back to the One Platform.


Connecting applications with repositories:

To associate a repository from your organization with an application,
click on the green button labeled “Connect application,” and you will
be directed to a configuration screen. Here, you need to follow these
steps:

  1. Choose the product to connect with the application in the field “Choose the product.”
  2. Select the application within this product in the “Choose the application” field.
  3. Choose the integration to use in the “Choose the integration” field.
  4. Select the repository from the chosen integration that you want to
    associate with this application in the “Choose the repository” field.
    Please note that it’s one repository per application.

After making the appropriate choices in these fields, you need to
specify the target branch. The selection of the target branch is
essential because it should be the main branch of the repository,
typically named “main” or “master.” The platform will receive pull
requests that will be merged into this branch, and it’s where the Lead
Times for Changes will be calculated. Make sure to match this branch
exactly as it appears on Bitbucket.

Once you’ve completed the configurations, click on “Finish integration”.



The value of the Lead Time for Changes will appear on the page of the
associated application within the chosen product. You can find this
value, calculated based on the last 30 days, in the last box on the
right side of your screen.


To unlink an application, follow these steps:

  1. Go to the desired associated application.
  2. Click on the button with the pencil icon to enter the edit mode, and a editing box will appear.
  3. Look for the application you want to unlink within the editing box.
  4. Click on the button with the trash bin icon next to the application you want to unlink.
  5. After the confirmation prompt appears, click on “Delete connection” to unlink the application.




On Cloudfare:

  • Go to WAF ( Web Application Firewall)
  • Click on “Tools”.
  • Create a new firewall rule or access rule.
  • Input the 1P Agent IP address 54.145.236.190 
  • Configure the rule action to allow traffic from the specified IP.

  • Save the rule to apply the changes.

To delete a product in the One Platform, you need to first unlink any
dependencies (add-ons) and delete the applications that are associated
with the product you wish to delete. Please note that to perform this
action, your role within the platform needs to be Owner. Below is a step-by-step guide for each stage:

Dissociate dependencies (add-ons)

Before deleting an application associated with the product you want
to delete, you need to dissociate its dependencies. To do this, follow
these steps:

  1. Go to the list of dependencies on the application’s screen.
  2. Click on the arrow on the left side to expand the information.
  3. Click on “Remove” to unlink the dependency.

Please proceed with caution when performing these actions, as they
will permanently remove the associated applications and dependencies
from the product. Make sure you have backed up any important data and
have the necessary permissions before proceeding with the deletion
process.

After clicking on “Remove,” confirm the action by clicking on “Confirm”.

 

Deleting Applications

After unlinking all dependencies, to delete the application, simply
click on the trash can icon in the application’s information box and
then confirm the action by clicking on “Confirm.”

Deleting the Product

After completing all the steps mentioned above, to delete the product, follow these steps:

  1. Click on the desired product in the “Product” tab of the menu.
  2. Click on the “Remove” button in red.
  3. Confirm the action when prompted.

Once you confirm the action, the product will be permanently deleted from your organization. 

 

To send Deployments, follow these steps:

  1. Go to the page of your product and access the specific application you want to work with.
  2. Click on the “Register Deploy” button, which is located below the
    application information and represented by a cloud and an arrow pointing
    upwards.

After clicking this button, a message box will appear, and you will have two options to register the deployment:

  • Register on the timeline: This option allows you to manually register
    the deployment on the latency and deployment graph timeline. You can
    update the date and time of the deployment as needed.

  • “Deploy via Webhook”: This option enables the automatic registration
    of the deployment on the timeline whenever the application is updated.
    There’s no need for manual registration in this case.

In this case, let’s proceed with the deployment via webhook by
clicking on the “Deploy by Webhook” tab. On this tab, you will need to
choose a credential that is already registered in your organization, in
the field labeled “Integration token.” When you select the desired
credential, the message box will be updated with the token corresponding
to the application.

To insert the deployment on the timeline of the latency and
deployment graph, use the provided curl command when updating the
application. The curl command should be provided by the webhook
integration you set up earlier.

When updating the application, the description of the deployment will
be automatically registered on the incident timeline as “[application
name] is DEPLOYED,” following the specified default format.

The Elven Works platform automatically monitors, sends alerts, and
manages incidents in the application and its dependencies, registered in
your digital product, based on information received through an internal
agent, webhook, and external agent.

When registering your digital product’s application on the platform,
you can observe the latency and percentiles graph, which provides
information about the application’s response time and any abrupt changes
in deployment cases.

The percentile graph provides users with an early analysis of the
application’s health, as shifts between percentiles can indicate
potential disruptions, instability, or a negative impact on the user
experience.

To proactively anticipate incidents in your digital product, you can
create a percentile degradation alert for the desired application. This
way, the assigned team will be notified in advance and can work
proactively to address any potential issues in the application,
minimizing unexpected disruptions in the user experience.

To set up these alerts, follow the step-by-step guide below:

  1. Access the application for which you want to configure alerts and
    click on “Response Time Degradation,” located below the application
    information. This will open a dialog box.
  2. Activate the desired options and enter the percentage of degradation
    that will be tolerated in the application. If the response time exceeds
    this value, an alert will be generated.

Once you have completed the configuration, click on “Save” to finalize the process.

Once there is a degradation in the application, as indicated by the
latency graph, your team will be notified through the communication
channels registered in the “Teams” section.

Advanced Notify Settings is an advanced configuration for selecting
customized incident notifications by product, product environment,
non-production environment, and also by communication channels. It
allows you to report incidents only where necessary and through priority
communication channels or specific control channels. To further
personalize the incident notification for your product, follow the steps below.

  1. Click on “Teams” in the side menu to start your configuration. If you
    want to create a new team, click on the “New” button in the top right
    corner of the screen and follow the steps.

  2. For already registered teams, access the desired team and click on
    the “Advanced Notify Settings” tab in the top bar. A table will appear
    with the configured communication channels, their environments, and
    products for the team being configured.

  3. By default, when setting up a notification channel in the
    “Notifications” tab, incident notification is automatically enabled for
    all environments and products associated with that channel. Therefore,
    you will need to deselect the channels and notification environments as
    needed.

  4. For example, for the “Sites” product, incident alerts will only be
    sent via WhatsApp. In this case, only the checkbox corresponding to the
    WhatsApp communication channel should be selected. This means that if
    there is an incident in the “Sites” product, the alert will be sent only
    through WhatsApp.

 

 

After selecting only the desired communication channels, click on “Save” to finalize the configuration.

The One Platform offers the possibility to generate a status page for
your applications and registered dependencies in your digital product.
This page is modular and customizable according to your needs or those
of your clients. You can configure which applications and dependencies
you would like to monitor in a macro manner (only the overall status of
the application) or, if you prefer, individually for each component.

On the status page, you can track the current status of an
application or dependency, indicating whether it is operational,
partially operational, or non-operational, along with the average
response time of the respective component. This helps you understand not
only if the component is operating normally but also how long it is
taking to respond to end-users.

You can also monitor incidents that occurred in the last seven days
on specific days and their current status, making it public whether the
incident has been resolved or if the status remains ongoing. Only
incidents and application dependencies configured to be displayed will
be presented.

Internal metrics or confidential operational information are not
displayed to the engineering and product team; they can only be
monitored in the Resilience Matrix.

Creating a Status Page:

To create a status page, go to the menu on the left side of your
screen and click on “Status Page.” On the next screen, you will see a
list of all the status pages that have already been configured. To
create a new status page, click on “New” located at the top right.

In the editing screen, upload the logo for your status page by
clicking on “Upload.” Customize the name of the status page, the URL,
and the components you want to highlight on this specific status page.
First, enter a name that will be displayed on your status page. By
default, we use the same name to create the URL slug, but this can be customized if desired.
It is not mandatory to have the same name and slug. Below the name and
slug, you can add a description of your status page in the “Subtitle”
field and choose whether to enable the subscription feature for your
clients’ use, With this function activated, your customers will be able
to receive notifications about updates on the status page by clicking
the “Subscribe to Updates” button.


Then, fill in the phone number to receive it via SMS or Webhook.


Note: Due to telephone operator transactions, SMS’s may take up to 15 minutes to arrive.

Following these primary settings, the status page components are
displayed, which are divided and configured by groups, and within these
groups, the desired applications and dependencies are shown for each
separation. At this stage, there will be two blocks: “My Resources” and
“What will be shown on your Status Page.”



The “My Resources” field will contain your products registered on the
platform, with their names pre-registered on the application pages. External Integration and Synthetic Monitoring
will also appear if you have them. In “What will be shown in your
Status Page”, this is what will be presented on your status page and
made public.




Click on the “ADD Group” button, and a component icon will be placed
in the right block. Name the group in the available field and drag an
application or dependency under the created name. This configuration
works as a drag-and-drop function, meaning you can simply select and
drag the components from one block to another and drop them into the
desired group.

If you want to edit the name of any of the components to appear on
the status page, hover your mouse over the name of the desired component
and click on the pencil icon that appears next to it. To hide a
component from the status page, click on the eye icon that will also
appear next to it. An open eye means that the component will appear on
the status page, while a closed eye with a slash across it means that it
will not appear.

The show/hide function is solely for the display on the status page, but the hidden component will still affect its status.



Tip* – If you only want to show the status of your monitoring and not
the uptime, simply create a group, add the monitoring that interferes,
and hide the monitoring, so only the group status will appear on the
status page, not the Uptime.



After configuring as desired, click on “Save,” the button at the end of the page.

The URL for the public status page will be generated after completing
the steps described above, and the name and slug will be available just
below it.



You can see how your status page will be displayed in the example below:


If your application is undergoing scheduled maintenance on the One
Platform, it will be displayed on your status page as follows:



**For Synthetic type monitoring, receiving updates via SMS is under development and will soon be available on the platform.

Create a CNAME entry in your domain with a name of your choice, pointing to proxy-statuspages.elven.works.

Inform us through the chat on the platform or website about the Status Page you used and the CNAME entry you created. Within 48 business hours, your Status Page will be active on your domain.

To configure an HTTP dependency on the platform, follow these steps:

 

  1. Go to the product application where you want to add the HTTP dependency in the platform.

  2. Click on the “Products” menu and select the desired product card.

  3. Then, click on the name of the specific application where you want to configure the HTTP dependency.

  4. Look for the section called “External Dependencies,” usually located just below the latency graph of the application.

  5. To add an already registered dependency, type the name of the
    dependency in the search field and select it when it appears in the
    list.

  6. If the HTTP dependency is not yet registered, click on the green button with a plus (+) symbol to add a new dependency.

When you click on “Add,” a modal will appear. In this modal, you will
name the HTTP dependency and choose the Environment. In the “Check
type” field, select the option “HTTP,” and in the “Method” field, choose
the desired method (e.g., GET, POST, etc.). After selecting the method,
a field for “Healthcheck URL” will appear.

 

If you choose “GET” as the method, you need to fill in the
Healthcheck URL. You can also select “Skip SSL Validation” to ignore the
SSL certificate existence, and choose “TLS Renegotiation” if the
security protocol is required. After filling in these fields, you may
choose to configure a Header.

When you choose “POST” as the HTTP method in the configuration, in
addition to the settings available for “GET,” you can also add content
to the “Body.”

Note: For security reasons, it is not
permitted to enter an IP in the healthcheck field. To monitor an IP,
you need to enter it in a secret and use it in healthcheck

To set up a team on the platform, follow these steps:

  1. Go to the left sidebar menu and click on “Teams.”
  2. Next, click on the “New” button located in the upper right corner of the page.
  3. Once the configuration screen opens, give your team a name.
  4. Choose the notification preferences for the team being configured.
  5. Fill in the fields dedicated to that configuration accordingly.
  6. Finally, click on “Save” to finalize the team setup.