This quickstart introduces you to Error Reporting and shows you how to do the following:
- Deploy a Python App Engine application by using Cloud Shell.
- View an error in your application using Error Reporting.
- Configure Error Reporting to send notifications.
Try the 3-minute
interactive tutorial in the Google Cloud Console.
(Click Start in the Error Reporting
Introduction column.)
Before you begin
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud Console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Cloud project. Learn how to confirm that billing is enabled for your project.
- Open a Cloud Shell for your project. While it starts, the message
Connecting is displayed.
Getting started
In this section, you download and deploy an application to App Engine:
Download and configure the application from the GitHub project python-docs-samples:
Clone the project to your Cloud Shell:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Git returns a message similar to this:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples Cloning into 'python-docs-samples'...
Create an isolated Python environment and activate it:
cd python-docs-samples/appengine/standard_python3/hello_world virtualenv env -p python3 source env/bin/activate
Install dependencies:
pip install -r requirements.txt
Verify that the application installation and configuration are successful:
Run the application:
python main.py
To view the application on a local web page, click the link displayed in Cloud Shell. The web page displays
Hello World!
.To stop your running application, in Cloud Shell enter
Ctrl-C
.
Upload your application to App Engine:
gcloud app deploy
If prompted for a deployment region, select one near you. Enter
Y
when asked if you want to continue. After a few moments, the upload is complete.View your application in a browser by running the following command in Cloud Shell:
gcloud app browse
If the Cloud SDK can't find your browser, the previous command displays an error message and a link. Click the displayed link. The message
Hello, World!
is displayed in the browser.
Introduce an error
In the next steps, you create an error that Error Reporting catches and displays:
Edit
main.py
and changereturn 'Hello World!
to
return 'Hello World!' + 1000
When executed, this change causes a Python
TypeError
exception because it is illegal to concatenate a string and an integer.Upload the modified application to App Engine:
gcloud app deploy
Return to the browser tab containing the running application, and reload the page. Because of your change, instead of the page displaying
Hello, World!
, it displays an error message:Internal Server Error The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
If you don't see this message, wait a minute and reload it again. It might take a few moments before the new version is activated.
View the error in Error Reporting
The error message displayed in the web page isn't that useful because it doesn't provide enough details to resolve the issue. However, if you use Error Reporting, you can get detailed information about the error and the number of times it has occurred:
Go to Error Reporting:
The Error Reporting dashboard displays a summary of each error found and the number of occurrences of each error. By default, Error Reporting automatically reloads the error list every 5 seconds, but to force an immediate reload click Auto reload.
For this quickstart, the dashboard displays one error with the description
"TypeError: can only concatenate str (not "int") to str"
. You may have to wait a minute and refresh the page to see the error:Generate the same error again by reloading the application in your browser.
Because the stack trace of the new error is similar to the first error, Error Reporting batches them together by updating the number of Occurrences and the time graph:
To view the error details page, which contains all of the available information about an error, including links to the source code, click the error name:
Configure notifications
You can configure Error Reporting to notify you when a new type of error arrives. Notifications aren't sent when there are new occurrences of existing errors:
Go to Error Reporting:
To enable email notifications, click More more_vert and select Turn on new error notifications for project from the drop-down list.
In
main.py
, changereturn 'Hello World!` + 1000
to
return 'Hello World!'.punctuate()
When executed, this change causes a Python
AttributeError
exception because the attributepunctuate()
doesn't exist.Upload the modified file to App Engine:
gcloud app deploy
Generate the new error by reloading the application in your browser.
The browser displays the message
Internal Server Error
.The Error Reporting dashboard displays an error with the description
"AttributeError: 'str' object has no attribute 'punctuate'
.Your email includes a new notification that contains details about the error, including the:
- Project ID
- An error description, in this case, it includes
"AttributeError: 'str' object has no attribute 'punctuate'
- Service
- Application version
Clean up
To avoid incurring charges to your Google Cloud account for the resources used in this quickstart, follow these steps.
- In the Cloud Console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
What's next
Read our resources about DevOps and explore our research program.