docs: fix build + add language annotations on code

Change-Id: I033767511bc21ae726467b9c3d8293b40d14e019
diff --git a/docs/analysis/trace-processor.md b/docs/analysis/trace-processor.md
index 060dc3d..ce8f462 100644
--- a/docs/analysis/trace-processor.md
+++ b/docs/analysis/trace-processor.md
@@ -457,7 +457,7 @@
 The query() function takes an SQL query as input and returns an iterator through the rows
 of the result.
 
-```
+```python
 from trace_processor.api import TraceProcessor
 tp = TraceProcessor(file_path='trace.pftrace')
 
@@ -476,7 +476,7 @@
 ```
 The QueryResultIterator can also be converted to a Pandas DataFrame, although this
 requires you to have both the `NumPy` and `Pandas` modules installed.
-```
+```python
 from trace_processor.api import TraceProcessor
 tp = TraceProcessor(file_path='trace.pftrace')
 
@@ -497,7 +497,7 @@
 ```
 Furthermore, you can use the query result in a Pandas DataFrame format to easily
 make visualisations from the trace data.
-```
+```python
 from trace_processor.api import TraceProcessor
 tp = TraceProcessor(file_path='trace.pftrace')
 
@@ -591,7 +591,7 @@
 provides methods to make HTTP requests to an address at which there already
 exists a running instance of `trace_processor` with a trace loaded in. All
 results are returned in Protobuf format
-(see [`trace_processor_proto`](/protos/perfetto/trace_processor.proto)).
+(see [`trace_processor_proto`](/protos/perfetto/trace_processor/trace_processor.proto)).
 Some functions include:
 * `execute_query()` - Takes in an SQL query and returns a `QueryResult` Protobuf
   message