RivEX can convert the network into a calibrated PolylineM FeatureClass.

This tool requires you to have processed your river network for Distance to network mouth.

The dialog shown below appears when you run this tool.  Set the unit of measurement.  This is the measurement you want you network to be in, not the units of the original dataset.  If for example your event data was capture in Kilometres but your network is in meters you need to set the units to Kilometres as this will allow you to map your event data. 

Build measured network dialog

Enter a valid File GeoDatabase name.

When the tool finishes running it will ask to add the new layer to the current Map. The new dataset is stored in the File GeoDatabase fGDB_MeasureNetwork in the Output sub folder in RivEX_Workspace for the network.

Having created this dataset you can test it by using the Identify Route Locations tool (you will probably need to add this from the customize dialog). 

Using identify route location tool

To be able to plot events along the measured network you must attribute your polylines with route ID's.  What ID's you assign to the polylines is entire up to your organisation. You may have a numeric system that identifies reaches along your network or a simple code used for the river name.