Bird
Raised Fist0
GCPcloud~10 mins

Cloud Trace for latency analysis in GCP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to enable Cloud Trace API in your GCP project.

GCP
gcloud services enable [1]
Drag options to blanks, or click blank then click option'
Abigquery.googleapis.com
Bcloudtrace.googleapis.com
Cstorage.googleapis.com
Dcompute.googleapis.com
Attempts:
3 left
💡 Hint
Common Mistakes
Enabling unrelated APIs like Compute or Storage instead of Cloud Trace.
Misspelling the API name.
2fill in blank
medium

Complete the code to create a trace span using the OpenTelemetry Python library.

GCP
with tracer.start_as_current_span("[1]") as span:
    # your code here
    pass
Drag options to blanks, or click blank then click option'
Acustom_operation
Bdatabase_query
Cprocess_data
Dhttp_request
Attempts:
3 left
💡 Hint
Common Mistakes
Using generic or unrelated span names that don't describe the operation.
Leaving the span name empty.
3fill in blank
hard

Fix the error in the code to export trace data to Cloud Trace using OpenTelemetry.

GCP
trace.set_tracer_provider(TracerProvider())
trace.get_tracer_provider().add_span_processor(BatchSpanProcessor([1]))
Drag options to blanks, or click blank then click option'
AFileSpanExporter()
BConsoleSpanExporter()
CCloudTraceSpanExporter()
DLoggingSpanExporter()
Attempts:
3 left
💡 Hint
Common Mistakes
Using exporters that only print or log traces locally.
Not adding a span processor at all.
4fill in blank
hard

Fill both blanks to configure the OpenTelemetry tracer with resource attributes and exporter.

GCP
resource = Resource(attributes={"service.name": [1])
tracer_provider = TracerProvider(resource=resource)
tracer_provider.add_span_processor(BatchSpanProcessor([2]))
Drag options to blanks, or click blank then click option'
A"my-service"
BCloudTraceSpanExporter()
CConsoleSpanExporter()
D"default-service"
Attempts:
3 left
💡 Hint
Common Mistakes
Using ConsoleSpanExporter instead of CloudTraceSpanExporter.
Not setting a proper service name.
5fill in blank
hard

Fill all three blanks to create a trace span, add attributes, and end it properly.

GCP
tracer = trace.get_tracer("[1]")
with tracer.start_as_current_span("[2]") as span:
    span.set_attribute("http.status_code", [3])
    # your code here
Drag options to blanks, or click blank then click option'
Amy-service
Brequest-handler
C200
Derror-handler
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect span or tracer names.
Setting wrong or string HTTP status codes.

Practice

(1/5)
1. What is the main purpose of Cloud Trace in Google Cloud Platform?
easy
A. To measure how long different parts of your application take to run
B. To store large amounts of data securely
C. To manage user access and permissions
D. To create virtual machines automatically

Solution

  1. Step 1: Understand Cloud Trace's role

    Cloud Trace helps track the time taken by parts of an application to identify slow spots.
  2. Step 2: Compare options with Cloud Trace's function

    Options A, C, and D describe other services like storage, IAM, and compute, not tracing.
  3. Final Answer:

    To measure how long different parts of your application take to run -> Option A
  4. Quick Check:

    Cloud Trace = latency measurement [OK]
Hint: Cloud Trace measures time delays in app parts [OK]
Common Mistakes:
  • Confusing Cloud Trace with storage or VM services
  • Thinking Cloud Trace manages permissions
  • Assuming Cloud Trace creates resources
2. Which of the following is the correct way to enable Cloud Trace in a GCP project using gcloud CLI?
easy
A. gcloud trace enable project
B. gcloud services enable cloudtrace.googleapis.com
C. gcloud trace start --project
D. gcloud enable trace-service

Solution

  1. Step 1: Recall the correct gcloud command to enable APIs

    The standard command to enable a service is 'gcloud services enable SERVICE_NAME'.
  2. Step 2: Match the service name for Cloud Trace

    The Cloud Trace API service name is 'cloudtrace.googleapis.com'. gcloud services enable cloudtrace.googleapis.com matches this format exactly.
  3. Final Answer:

    gcloud services enable cloudtrace.googleapis.com -> Option B
  4. Quick Check:

    Enable API with 'gcloud services enable' [OK]
Hint: Use 'gcloud services enable' plus API name [OK]
Common Mistakes:
  • Using incorrect gcloud commands like 'gcloud trace enable'
  • Missing the full API service name
  • Trying to start trace without enabling API
3. Given this snippet of trace spans data, what does the latency represent?
{"spans": [{"name": "span1", "startTime": "10:00:00.000Z", "endTime": "10:00:01.500Z"}]}
medium
A. The span ended at 1.5 seconds
B. The span started at 1.5 seconds
C. The span took 1.5 seconds to complete
D. The span took 15 seconds to complete

Solution

  1. Step 1: Calculate the difference between startTime and endTime

    End time is 10:00:01.500Z and start time is 10:00:00.000Z, so duration is 1.5 seconds.
  2. Step 2: Understand latency meaning in trace span

    Latency is the time taken from start to end of the span, which is 1.5 seconds here.
  3. Final Answer:

    The span took 1.5 seconds to complete -> Option C
  4. Quick Check:

    Latency = endTime - startTime = 1.5s [OK]
Hint: Latency = end time minus start time [OK]
Common Mistakes:
  • Confusing latency with start or end time alone
  • Misreading milliseconds as seconds
  • Calculating 15 seconds instead of 1.5
4. You enabled Cloud Trace but see no latency data in your project. What is the most likely cause?
medium
A. Cloud Trace API is not enabled in the project
B. Cloud Trace only works with Google-managed services
C. You have too many traces and data is delayed
D. Your application is not sending trace data

Solution

  1. Step 1: Check API enablement

    If the API was not enabled, no trace data could be collected, but question states it was enabled.
  2. Step 2: Verify application trace data sending

    Cloud Trace requires the app to send trace data; if it doesn't, no data appears.
  3. Step 3: Consider other options

    You have too many traces and data is delayed is about delay, but no data at all suggests no sending. Cloud Trace only works with Google-managed services is false; Cloud Trace works with user apps too.
  4. Final Answer:

    Your application is not sending trace data -> Option D
  5. Quick Check:

    No data means no trace sent [OK]
Hint: No data usually means app not sending traces [OK]
Common Mistakes:
  • Assuming API enablement alone sends data
  • Thinking Cloud Trace only works with Google services
  • Ignoring app instrumentation requirement
5. You want to analyze latency in a microservices app using Cloud Trace. Which approach best helps identify the slowest service?
hard
A. Use trace spans to compare latency times across services
B. Enable Cloud Trace only on the frontend service
C. Collect logs instead of traces for latency
D. Use Cloud Trace only during off-peak hours

Solution

  1. Step 1: Understand trace spans in microservices

    Trace spans represent operations in each service, showing latency per service.
  2. Step 2: Compare latency across services

    By comparing spans, you can find which service takes the longest time.
  3. Step 3: Evaluate other options

    Enable Cloud Trace only on the frontend service limits data to frontend only, missing backend. Collect logs instead of traces for latency is about logs, not latency. Use Cloud Trace only during off-peak hours restricts data collection unnecessarily.
  4. Final Answer:

    Use trace spans to compare latency times across services -> Option A
  5. Quick Check:

    Trace spans reveal slow services [OK]
Hint: Compare spans latency to find slow service [OK]
Common Mistakes:
  • Enabling trace on only one service
  • Confusing logs with trace latency data
  • Limiting trace collection to certain hours
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard