- 
    Type:
Bug
 - 
    Resolution: Done
 - 
    Priority:
Major - P3
 - 
    Affects Version/s: None
 - 
    Component/s: None
 - 
    None
 
- 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
Done:
- Actual command-started events
 - Simulate command-started events by upconverting legacy writes
 - Report operation_id and request_id with command-started events
 - Make an internal function mongoc_apm_command_started_init (&event, lots of params...).
 - Refactor upconversion code with actual write-command code in _mongoc_write_command
 - Remove $readPreference from command-started event (tests should now pass with 3.2 on all topologies)
 - Simulate command-started events by upconverting legacy query and getmore (tests should now pass on all server version)
 - Remove mongoc_cluster_run_command_rpc
 - Test mongoc_apm_command_failed_get_error
 - Command-succeed events (merge those parts of spec tests into our repo)
 - Command-failed events (merge those parts of spec tests into our repo)
 - Document all new functions and structs, note that callbacks must copy event data to modify it, or to keep it after the callback invocation
 - Write an APM Guide in the docs
 - Prohibit setting APM callbacks directly on a pooled client, only allow setting them on the pool (head-start on 
CDRIVER-938) - Test that multi-batch inserts report different request_ids and the same operation_ids, in both legacy and write-command mode
 
- depends on
 - 
                    
CDRIVER-1117 Delete mongoc_cluster_run_command_rpc
-         
 - Closed
 
 -         
 
- is depended on by
 - 
                    
PHPC-349 Application Performance Monitoring (APM)
-         
 - Closed
 
 -         
 - 
                    
DRIVERS-247 Implement APM Spec
-         
 - Closed
 
 -         
 
- is related to
 - 
                    
DRIVERS-211 New commands for find, getMore, and killCursors
-         
 - Closed
 
 -         
 - 
                    
CDRIVER-400 mongoc notification system / observer
-         
 - Closed
 
 -         
 - 
                    
CDRIVER-1890 Allow mongoc_client_set_apm_callbacks() to be called multiple times
-         
 - Closed
 
 -         
 
- related to
 - 
                    
CDRIVER-4139 Using MONGOC_WRITE_CONCERN_W_ERRORS_IGNORED may send invalid "w" value to the server
-         
 - Backlog
 
 -         
 - 
                    
CDRIVER-1204 Implement APM for mongoc_client_command()
-         
 - Closed
 
 -         
 - 
                    
CDRIVER-1064 find / getMore commands' batchSize must be int64, not int32
-         
 - Closed
 
 -         
 - 
                    
CDRIVER-1084 bson_reader_reset()
-         
 - Closed
 
 -         
 - 
                    
CDRIVER-1890 Allow mongoc_client_set_apm_callbacks() to be called multiple times
-         
 - Closed
 
 -